如何将post_id插入mysql数据库

时间:2014-02-13 23:54:49

标签: php mysql forms comments

我有一个评论系统,应该输入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> 

3 个答案:

答案 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所述,您应该在某处定义变量。