【发布时间】:2013-05-30 15:29:20
【问题描述】:
我有一个页面,其中包含从数据库中收集的多个帖子。
每个帖子下面是一个 cmets 表单,根据主帖子的 ID 具有不同的 id 值。
这是我的表格:
<form action="post_comment.php" method="POST" id="cmtForm-8">
<textarea name="msg" placeholder="Comment here"></textarea>
<input type="hidden" value="8" name="id_cmt"/>
<input type="hidden" value="username" name="usr"/>
<input type="submit" value="Add comment"/>
</form>
这是post_comment.php:
echo "ID: ".$_POST['id_cmt'];
echo "<br>Message content: ".$_POST['msg'];
echo "<br>User: ".$_POST['usr'];
这是输出(不管msg textarea 中的内容如何):
ID: 1
Message content:
User: username
var_dump($_POST) 给我:
array(3) {
["msg"]=> string(0) ""
["id_cmt"]=> string(1) "1"
["usr"]=> string(8) "username"
}
为什么id_cmt 和msg 字段不能正确发布?
【问题讨论】:
-
我很想知道为什么在 HTML 代码中将隐藏值设置为 8 时 $_POST['id_cmt'] 打印为 1。
-
var_dump($_POST)显示什么? -
msg内容根据您发布的 HTML 正确传递(没有值)。至于id_cmt的值,你贴出来的和结果不匹配,贴出来的代码都没有说明。请包含影响该值的任何其他代码。 -
那么页面上的其他地方显然存在问题。您是否有机会将您的整个标记粘贴到有问题的页面?而且,附带说明一下,您不应该发布用户名,任何人都可以更改此用户名并以其他任何人的身份发布。
-
我没有在循环中看到 ,所以这可能是问题所在?第一个 ID 为 1 的表单从未关闭。