【发布时间】:2014-04-09 21:07:52
【问题描述】:
我有以下代码,但是当我回显 $url、$id2 或 $message 时,变量显示为空。 php 操作文件没有问题并且正在工作。请注意,这是使用 php 回显的,并且显示得很好。
<form name="comment" method="post" action="comment.php" onSubmit="return form_Validator(this)">
<table width=\"100%\">
<tr>
<th colspan=\"2\">Title</th>
</tr>
<tr valign=\"top\">
<th scope=\"row\"> </th>
<td><div align=\"center\"><textarea class=\"formtext\" tabindex=\"4\" id=\"message\" name=\"message\" rows=\"10\" cols=\"50\"></textarea></div></td>
</tr>
<tr>
<td> </td>
<td><div align=\"center\"><input type=\"submit\" name=\"post\" class=\"submit\" value=\"Comment\" /></div><br />
</td>
</tr>
</table>
<input type=\"hidden\" name=\"submit\" value=\"true\">
<input type=\"hidden\" name=\"url\" value=\"$url\" />
<input type=\"hidden\" name=\"id2\" value=\"$id2\" />
</form>
澄清:问题是我发送给 php 函数的变量结果是空的。他们什么都没有。我查看了其他已回答的类似问题的问题,有人提到重写规则可能会弄乱 $_POST 的东西。真的吗?我是否必须在 htaccess 中添加其他内容才能传输变量?
另外,PHP 文件:
<?php
if (userinfo['userid']!=0) {
$url = $_POST["url"];
$id2 = $_POST["id2"];
$email = $_POST["email"];
$message = $_POST["message"];
// These return nothing:
echo $url;
echo $id2;
echo $message;
$sendcomment = mysql_query("INSERT INTO comments SET tutorialid='$id2', email='$email', comment='$message', date=now()");
if($sendcomment){
header("Location: $url");
} else {
// Do Nothing
}
} else {
header("Location: 403.php");
}
?>
【问题讨论】:
-
您面临的问题是什么?
-
你也可以展示你的PHP代码吗?
-
此外,
<input type=\"hidden\" name=\"submit\" value=\"true\">是干什么用的? -
你为什么要逃避所有这些引号
-
由于 textarea 为空,因此无法正常显示。问题在于我应该在 textarea> 之后和 之前输出数据的 php 代码。我们需要看看 PHP 代码以及它是如何获得它的价值的。