0

通过以下 PHP 脚本处理 $_POST 数据,其中 'mike' 和 'tampa' 作为发布数据:

<?php
$name = $_POST['name'];
$city = $_POST['city'];

$fh = fopen('variables.php', 'w') or die("can't open file");
fwrite($fh,"<?php \n");
fwrite($fh,"\$name = $name");
fwrite($fh,$city);
fwrite($fh,"\n ?>");
fclose($fh);
header("Location: main.php");
?>

导致以下内容被写入 variables.php 文件:

<?php 
$name = miketampa
 ?>

但是,我最终需要它做的是输出如下:

<?php 
$name = mike;
$city = tampa;
 ?>

我花了几天时间试图通过反复试验来弄清楚如何让它正常工作,但我就是无法让它工作。所以这是我遇到的 3 个问题,请有人告诉我(告诉我)正确的方法来让它工作。

  1. 如果我将 $name 的 FWRITE 代码复制到 PHP 中断的 $city 行,为什么?
  2. 即使我尝试转义 ; ,我也无法让 PHP 接受 $name 末尾的分号。特点
  3. 我无法让 PHP 在 FWRITE 写入的字符串末尾接受 \n (换行符)

我已经包含了下面的代码,以防有人想看到我搞砸的所有内容。谢谢你的帮助。**

表单.PHP

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>

<body>
<form action="process.php" method="post">
What is your name?<input name="name" type="text" />
what city do you live in?<input name="city" type="text" />
<input type="submit" name="submit" id="submit" value="Submit" /></form>

</body>
</html>

进程.PHP

<?php
$name = $_POST['name'];
$city = $_POST['city'];

$fh = fopen('variables.php', 'w') or die("can't open file");
fwrite($fh,"<?php \n");
fwrite($fh,"\$name = $name");
fwrite($fh,"\$city = $city");
fwrite($fh,"\n ?>");
fclose($fh);
header("Location: main.php");
?>

VARIABLES.PHP - 除了 process.php 写入的内容之外,它是空的

主.PHP

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
</head>
<?php include ('variables.php') ?>
<body>
<div>Hello world, my name is <?=$name?> and I live in <?=$city?></div>
</body>
</html>
4

1 回答 1

0

有关更改,请参见标记行:

fwrite($fh,"\$name = '$name';\n"); // <-- change 
fwrite($fh,"\$city = '$city';"); // <-- change

这应该可以解决问题!

看我的编辑:;之后$name$city
第二次编辑:括$name起来$city'单引号)

于 2013-04-28T19:50:24.307 回答