Добрый день дорогие мои! Добро пожаловать на Блог RS! Сегодня мы доделаем наш модуль комментариев, добавив в обработчик несколько строчек кода, который позволят добавлять ответы в базу данных. Урок очень простой, и очень хорошо, что его приходится писать именно в понедельник. Как Вы все знаете понедельник день тяжелый, а для меня он тяжелее в двойне, ибо я заболел =( По сути нам нужно добавить всего лишь три строчки кода. Странно, что я решил написать об этом в отдельном посте.
Обязательно должен сказать пару слов для новоприбывших, дело в том, что данный пост на все 100% касается цикла статей "Создать блог с нуля". Цикл посвящен разработки персонального блога на php. Если Вы только пришли на мой блог, то читать именно этот пост бессмысленно, ибо в нем описаны переделки файла comm.php которого у Вас нет!
Если Вы хотите на практике научится писать свой проект, то заходите по ссылке выше и приступайте к обучению, и не забудьте подписаться на RSS ленту блога через ридер, или же по почте
Открываем файл comm.php и внесем в него некоторые исправления. Вспомните, в прошлом посте, мы создали скрытое поле формы, в котором содержится id комментария на который пользователь пишет ответ. Ну или содержит ноль, если пользователь пишет не ответ а комментарий. Так вот, нам необходимо поместить значение этого поля в переменную recomm. Для этого после строчки
if(isset($_POST['code_comm']))$code_comm = $_POST['code_comm'];
Пишем вот такую строчку
if(isset($_POST['recomm']))$recomm = $_POST['recomm'];
Теперь у нас объявлена переменная recomm, можно приступать к проверки правильности значения ( ведь эта переменная должна быть числом! ) и записи в базу данных.
Для проверки правильности я использовал регулярное выражения, хотя можно прибегнуть и к определенной функции, но я опишу свой способ. Сразу после
...
else $site_comm = "";//создаем пустую, безопасную переменную для записи в БД
Пишем вот такую строчку:
if(!preg_match("/^[0-9]+$/s",$recomm))$recomm = 0;//Проверяем обычный это комм или же ответ
Регулярное выражение помогает нам определить имеет ли переменная числовое значение, если нет, то мы принудительно прописываем в переменную recomm ноль. После этой операции осталось лишь прописать новый запрос в базу данных. Вот он:
//Добавляем сообщение в базу данных
$result_add_comm = mysql_query ("INSERT INTO comm (author,text,date_comm,blog,email,site,comm)
VALUES ('$author_comm','$txt_comm','$date_comm','$id_comm','$email_comm','$site_comm','$recomm')");
Как видите я добавил в запрос лишь имя новой колонки - comm и прописал значение для этой колонки - $recomm
Ну что ж, мы покончили с разработкой пользовательского модуля комментариев для нашего блога. В следующих статьях мы скорее всего начнем разбирать работу модуля галерей, так что не "переключайтесь" и подпишитесь на RSS ленту блога через ридер, или же по почте
Если есть какие либо вопросы, пользуйтесь формой ниже.
Всего Вам наилучшего! У меня все!
Исходник |