|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.08.2011, 15:09 | #1 |
Пользователь
Регистрация: 15.08.2011
Сообщений: 30
|
Привязка комментариев к новостям
Всем привет.
У меня есть сайт, написанный на PHP, с кучей новостей, хранящихся в базе данных MySQL. Захотелось мне как то, чтобы новости можно было комментировать. Скачал скрипт PHP, использующий базу данных SQL для хранения комментариев, не много отредактировал и наткнулся на проблему. Я заинтересован, чтобы комментарии добавлялись только к тем новостям, которые я комментаривал. В итоге при нажатии кнопки "добавить комментарий" данные уходят в базу данных, все кроме поля news_id. Оно остается пустым, когда туда должен записаться id новости. Переменная $id_news - рабочая. Id она выводит, но в базу не записывается результат. Помогите пожалуйста. Открывок кода формы комментариев: <div id="addCommentContainer"> <p>Добавить комментарий</p> <form id="addCommentForm" method="post" action=""> <div> <label for="name">Ваше имя:</label> <input type="text" name="name" id="name" /> <label for="email">Ваш E-mail:</label> <input type="text" name="email" id="email" /> <label for="url">Ваш сайт (не обязательно):</label> <input type="text" name="url" id="url" /> <label for="body">Введите текст комментария:</label> <textarea name="body" id="body" cols="20" rows="5"></textarea> <input type="hidden" name="news_id" id="news_id" value="<?=$id_news?>" /> <input type="submit" id="submit" value="Submit" /> </div> </form> </div> </div> Код который задействуется при нажатие кнопки "Submit": $arr = array(); $validates = Comment::validate($arr); if($validates) { /* Everything is OK, insert to database: */ mysql_query(" INSERT INTO comments(name,url,email,body,news_i d) VALUES ( '".$arr['name']."', '".$arr['url']."', '".$arr['email']."', '".$arr['body']."', '".$arr['news_id']."' )"); $arr['dt'] = date('r',time()); $arr['id'] = mysql_insert_id(); |
15.08.2011, 16:07 | #2 |
Форумчанин
Регистрация: 12.11.2010
Сообщений: 146
|
Во первых не видно как именно данные приходят в массив... т.е. сначала массив инициализируется, и проверяется ПУСТЫМ !!! где там хоть упоминнаие у суперглобальном $_POST массиве ?
|
15.08.2011, 20:21 | #3 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
Сделайте во так и посмотрите что отобразится. Если news_id будет пустым то ищите ошибки в реализации приема данных. Просто $arr = array(); на входе висеть не может.
PHP код:
Просто автор что то недоговаривает. Вот это совсем не обязательно Последний раз редактировалось dem66; 15.08.2011 в 20:23. |
15.08.2011, 20:53 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
|
15.08.2011, 21:00 | #5 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
я не это имел в виду.
Можно ведь сделать вот так. PHP код:
|
16.08.2011, 09:35 | #7 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
TranceSmile прав, так все будет работать.
И вот еще что. Это к автору. Проверку лучше реализовать таким макаром: PHP код:
PHP код:
|
16.08.2011, 11:32 | #8 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
dem66, а вы знаете толк в извращениях ( if (!$validates==NULL) ) )))
Хотя для начала я бы отметил, что пусть php и не является строго типизированным языком, но все же ради порядка, если ваша функция где-то возвращает булево TRUE, то хорошо бы что она в противном случае возвращала где-нибудь такое же булево FALSE, а не NULL . И тогда всегда справедлива будет проверка Код:
|
16.08.2011, 12:05 | #9 |
Пользователь
Регистрация: 15.08.2011
Сообщений: 30
|
Всем пасиб, проблема решилась. Нужно было прописать в массив arr переменную id_news из post
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление комментариев из кода | dab00 | Microsoft Office Excel | 9 | 17.08.2011 15:37 |
Виджет комментариев vkontakte | kpachbiu | JavaScript, Ajax | 8 | 17.01.2011 18:04 |
[C#] Удаление блочных комментариев | AquaticSoul | C# (си шарп) | 7 | 10.11.2010 21:01 |
Работа комментариев в WordPress | amdbodia | WordPress и другие CMS | 3 | 25.09.2010 15:09 |
Добавление комментариев | Amen | PHP | 9 | 20.10.2009 19:34 |