Пишем простую гостевую книгу на PHP.
Ну что, начнём. Результат, который мы получим, можно использовать на своей
страничке, в качестве скрипта отзывов или еще чего-то подобного. Статья
ориентирована на то, что вы уже знакомы с PHP и MySQL, т.е. знаете азы.
Для начала устанавливаем локальный сервер на вашем компьютере, подробную
установку на Ubuntu 10.10 я описывал в предыдущей статье. В ОС Windows удобнее
установить программу Denwer, скачать её можно на официальном сайте разработчиков
- _http://denwer.ru/. Установка очень проста, поэтому на этом нет смысла
останавливаться, перейдём непосредственно к созданию гостевой книги.
Сначала составим небольшое ТЗ, то есть обговорим все функции, которые нам нужны.
Например можно сделать следующее:
-Ввод данных в форму (Заполнение формы).
-Отправка обработчику.
-Вставка в БД MySQL.
-Вывод комментариев.
Теперь заходим в PHPmyAdmin и создаём БД, я назвал её «gbook», вы же можете
назвать так, как вам нравится. Далее создаём таблицу, называем «comments», в нашей
таблице будет всего 3 поля, а именно - это «id», «login», «text».
Поле «id» будет AUTO_INCREMENT. Далее добавим в нашу созданную таблицу
тестовую запись, щелкаем мышью на вкладке SQL и пишем следующее:
PHP код:
INSERT INTO `gbook`.`comments` (`id`, `login`, `text`) VALUES (NULL'Sexy Devil''Это
тестовый комментарий.'
); 
Либо можно сделать это проще, если вы не знакомы с запросами в БД, просто
щелкните по вкладке «Вставка» и вписывайте нужные данные, кроме поля «id», т.к. оно
AUTO_INCREMENT и вставляется автоматически.
Закончили работу с БД и теперь перейдём к созданию файлов, необходимых для работы
нашего скрипта.
Первый файл будет называться «index.php», в нём мы будем размещать вывод
комментариев и форму ввода.
Откроем его любым текстовым редактором, в моём случае это стандартный редактор
«Gedit» и начнём работать.
Для начала сделаем структуру обычного HTML:
PHP код:
<html>
<
heade>
<
title>Это гостевая книга!</title>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</
head>
<
body>
</
body>
</
html
Затем подключимся к БД:
PHP код:
//БД
$db "gbook";
//Хостинг
$host "localhost";
//Логин и пароль пользователя
$user "root";
$pass "";
$connect mysql_connect($host$user$pass);
mysql_select_db($db);
mysql_query('SET NAMES UTF8');
if(
$connect == true)
{
echo 
"Подключение прошло успешно!" ;
}
else
{
exit(
"Ошибка подключения к БД!") ;

Обновите страницу в браузере и если не каких ошибок не возникло, вы увидите
следующее сообщение:
Подключение прошло успешно!
Теперь нам нужно вывести наши данные в таблице на экран, печатаем следующее:
PHP код:
$res mysql_query("SELECT * FROM `comments`") ;
while(
$row mysql_fetch_assoc($res))
{
echo 
"<div>" ;
echo 
$row[login] . "<br>" ;
echo 
$row[text] ;
echo 
"</div>" ;

Обновляем страничку, если всё сделали правильно, вы увидите нашу запись:
Sexy Devil
Это тестовый комментарий.
Снова войдите в PHPmyAdmin и попробуйте что-нибудь добавить в нашу таблицу,
после чего обновите страницу и если всё правильно получилось, после нашей первой
записи, появится вторая. Продолжим, вывод комментариев закончен, теперь сделаем
форму добавления, мой вариант:
Код HTML:
<form method="POST" action="get.php">
Ваше имя:<br /> <input type="text" name="login"><br />
Комментарий:<br /> <textarea name="text"></textarea><br /> <input type="submit" name="add_com" value=" Добавить комментарий "> </form>
Создаём новый файл, который будет обрабатывать нашу форму. Я назвал его «get.php»
Подключаемся к БД(как подключится, можно посмотреть чуть выше:)).
Присваиваем переменным соответствующие значения, переданные методом POST:
PHP код:
$login $_POST['login'] ;
$text $_POST['text'] ; 
Далее проверяем, существуют ли эти самые переменные и не пустые ли они:
PHP код:
if(isset($login) && isset($text) && !empty($login) && !empty($text))

Обрабатываем переменные:
PHP код:
$login htmlspecialchars(trim($login));
$text htmlspecialchars(trim($text)); 
Вставляем результат в БД:
PHP код:
$res mysql_query("INSERT INTO `comments` (`login`, `text`) VALUES ('$login', '$text')") ; 
Если всё прошло успешно, произвести редирект на главную страницу:
PHP код:
if($res == true)
{
echo 
"<meta http-equiv='Refresh' content='0; URL=index.php'>";
}
else { echo 
"Ошибка добавления записи в БД!" ; }
}
else
{
echo 
"Заполните соответствующие поля!" ;

Всё!!! Теперь можете добавлять сообщения и они точно также будут выводится.
Простая гостевая книга готова! Вы можете использовать её на своём сайте!


(c) Sexy Devil 2011