我有一个评论系统,应该输入id,idea_id,user_id,注释,数据和时间。一切似乎都有效,除非每次发表评论时,idea_id始终为0.顺便提一下,一个想法基本上就是一个帖子。
我是这样做的:
<?php
if(isset($_POST['submit'])) {
$comment = $_POST['comment'];
$user_id = $_SESSION['user_id'];
$idea_id = $_POST['idea_id'];
if(empty($comment)) {
$message = "You Haven't Written Anything";
} else {
mysql_query("INSERT INTO comments (idea_id, user_id, comment, date, time) VALUES('".$idea_id."', '".$user_id."', '".$comment."', now(), now()) ") or die (mysql_error());
$message = "OK! Thanks for leaving your comment!";
if(isset($_GET['user_id'])) {
$_SESSION['user_id'] = $_GET['user_id'];
}
}
echo "<div class = 'box'>$message</div>";
}
?>
<form method = 'Post' name = 'comment_form'>
Comment: <br/>
<input type = 'text' name = 'comment' id = 'comment' autocomplete= 'off' />
<input type = 'hidden' name = 'idea_id' value = '<?php echo $idea_id; ?>' />
<input type = 'submit' name = 'submit' value = 'Comment' />
</form>
答案 0 :(得分:0)
您应该在表单中定义$idea_id
,然后将其传递给表单
$idea_id = "your_idea_id";
<input type = 'hidden' name = 'idea_id' value = '<?php echo $idea_id;?>' />
如果您想知道它是否有效,请尝试使用任何数字
<input type = 'hidden' name = 'idea_id' value = '66' />
答案 1 :(得分:0)
您似乎并没有记录表单中有多少想法。
我建议您允许数据库为您管理idea_id,它是主键。
您的应用程序将如何处理重复的idea_ids?
答案 2 :(得分:0)
隐藏输入的值应该在php标记内:
<input type = 'hidden' name = 'idea_id' value = '<?php echo $idea_id;?>' />
这样查询就不会将idea_id视为字符串。
同样如echo_Me所述,您应该在某处定义变量。