maxidebox@list.ru | +7 (929) 701 21 71
Простая гостевая книга на PHP

Простая гостевая книга на PHP

Результат, который мы получим, можно использовать на своей страничке, в качестве скрипта отзывов или еще чего-то подобного. Статья ориентирована на то, что вы уже знакомы с PHP и MySQL, т.е. знаете азы. Для начала устанавливаем локальный сервер на вашем компьютере. В ОС Windows удобнее установить программу Denwer, скачать её можно на официальном сайте разработчиков - http://denwer.ru. Установка очень проста, поэтому на этом нет смысла останавливаться, перейдём непосредственно к созданию гостевой книги.

Сначала составим небольшое ТЗ, то есть обговорим все функции, которые нам нужны.

Например можно сделать следующее:

  • Ввод данных в форму (Заполнение формы).
  • Отправка обработчику.
  • Вставка в БД MySQL.
  • Вывод комментариев.

Теперь заходим в PHPmyAdmin и создаём БД, я назвал её «gbook», вы же можете назвать так, как вам нравится. Далее создаём таблицу, называем «comments», в нашей таблице будет всего 3 поля, а именно - это «id», «login», «text». Поле «id» будет AUTO_INCREMENT. Далее добавим в нашу созданную таблицу тестовую запись, щелкаем мышью на вкладке SQL и пишем следующее:

        
INSERT INTO `gbook`.`comments` (`id`, `login`, `text`) VALUES (NULL, 'Sexy Devil', 'Это 
тестовый комментарий.');
        

Либо можно сделать это проще, если вы не знакомы с запросами в БД, просто щелкните по вкладке «Вставка» и вписывайте нужные данные, кроме поля «id», т.к. оно AUTO_INCREMENT и вставляется автоматически.

Закончили работу с БД и теперь перейдём к созданию файлов, необходимых для работы нашего скрипта.

Первый файл будет называться «index.php», в нём мы будем размещать вывод комментариев и форму ввода.

Откроем его любым текстовым редактором, в моём случае это стандартный редактор «Gedit» и начнём работать.

Для начала сделаем структуру обычного HTML:

        
<html> 
<heade> 
<title>Это гостевая книга!</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 
<body> 
</body> 
</html>
        

Затем подключимся к БД:

        
//БД 
$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("Ошибка подключения к БД!") ; 
}  
        

Обновите страницу в браузере и если не каких ошибок не возникло, вы увидите следующее сообщение:

Подключение прошло успешно!

Теперь нам нужно вывести наши данные в таблице на экран, печатаем следующее:

        
$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 и попробуйте что-нибудь добавить в нашу таблицу, после чего обновите страницу и если всё правильно получилось, после нашей первой записи, появится вторая. Продолжим, вывод комментариев закончен, теперь сделаем форму добавления, мой вариант:

        
<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:

        
$login = $_POST['login'] ; 
$text = $_POST['text'] ;  
        

Далее проверяем, существуют ли эти самые переменные и не пустые ли они:

        
if(isset($login) && isset($text) && !empty($login) && !empty($text)) 
{
        

Обрабатываем переменные:

        
$login = htmlspecialchars(trim($login)); 
$text = htmlspecialchars(trim($text)); 
        

Вставляем результат в БД:

        
$res = mysql_query("INSERT INTO `comments` (`login`, `text`) VALUES ('$login', '$text')") ;  
        

Если всё прошло успешно, произвести редирект на главную страницу:

        
if($res == true) 
{ 
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>"; 
} 
else { echo "Ошибка добавления записи в БД!" ; } 
} 
else 
{ 
echo "Заполните соответствующие поля!" ; 
}  
        

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

Голосов: 586 | Просмотров: 1775