У меня есть система комментариев, которая должна вводить id, idea_id, user_id, комментарий, данные и время. Кажется, что все работает, но каждый раз, когда я публикую комментарий, идея_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>
Не похоже, что вы держите подсчет количества идей, проходящих через вашу форму.
Я предлагаю вам разрешить базе данных управлять идеей_ид для вас, и это будет первичный ключ.
Как ваше приложение обрабатывает дубликаты идей?
Значение для скрытого ввода должно быть внутри тегов php:
<input type = 'hidden' name = 'idea_id' value = '<?php echo $idea_id;?>' />
Таким образом, запрос не увидит ide_id как строку.
Также, как указано в echo_Me, вы должны где-то определить переменную.
вы должны определить $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' />