我有以下代码,但是当我回显$ 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");
}
?>
答案 0 :(得分:2)
你为什么逃跑?
删除它并且有效
<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>
删除代码的这部分内容不正确:
if($sendcomment){
header("Location: $url");
} else {
// Do Nothing
}
} else {
header("Location: 403.php");
}