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

20 мая 2020 - Администратор

Гостевая книга отзывов на PHP

Гостевая книга на веб сайте позволяет получить обратную связь от пользователей и существенно улучшить ваш сайт. В этой статье мы научимся создавать гостевую книгу на PHP. Чтобы создать гостевую книгу на PHP, необходимо выполнить следующие операции:
Создать HTML форму для размещения комментариев пользователей
Создать MySQL таблицу базы данных с помощью PhpMyAdmin, в которой будут храниться отзывы. В нашем примере это таблица guest и у неё поля name и text.
Подключиться к базе данных и считать таблицу guest, вывести её на веб страницу.
Обработать нажатие кнопки отправки формы
Получить данные с формы, перевести их в формат базы данных и добавить запись в таблицу базы данных. Обновляем страницу, чтобы увидеть введённый комментарий
Подробно разберём каждый пункт алгоритма создания гостевой книги на PHP
Создаём HTML форму для размещения комментария. Она состоит из двух текстовых полей: для ввода имени и для ввода комментария. Также форма содержит кнопку отправки. Подробно о работе с формами в HTML
<p><h1>Книга отзывов</h1></p>
<form method="post">
<p>Введите своё имя <input type="text" name="name"></p>
<p>Введите свой комментарий <input type="text" name="comment"></p>
<input type="submit" name="formSubmit" value="Submit" />
</form>

Чтобы создать таблицу базы данных, вам необходимо войти в базу данных и создать таблицу, состоящую из трёх полей:  ID,name,text Подробнее о  работе с базами данных PhpMyAdmin
Для того, чтобы вывести на веб страницу уже размещённые коментарии, необходимо подключиться к базе даных
<p><hr>Отзывы </p>
<?php
$mysqli = new mysqli("localhost", "root", "root", "base_db");

Проверить корректность подключения к базе данных
if ($mysqli->connect_errno) {
    echo "Извините, возникла проблема на сайте";
    echo "Ошибка: Не удалось создать соединение с базой данных MySQL и по данной причине: ";
    echo "Номер ошибки: " . $mysqli->connect_errno . " ";
    echo "Ошибка: " . $mysqli->connect_error . " ";
    exit;
}

Создаём запрос на считывание данных из таблицы базы данных guest
$query = "SELECT * FROM guest WHERE 1"; 
Выполняем запрос к базе данных MySQL
$result = $mysqli->query($query); 
Выводим на веб страницу  размещённые комментарии
while ($row = $result->fetch_assoc()) {
echo '<b>Автор:</b>'.$row["name"].' <b>Отзыв:</b>'.$row["text"];
echo '<br>';
}

 Обрабатываем нажатие кнопки "Отправить" HTML формы при добавлении нового комментария 
if(isset($_POST['formSubmit'])) {
 Считываем данные из формы ввода комментария
$nameform=$_POST['name'];
$commentform=$_POST['comment'];

Переводим данные из HTML формы в формат базы данных MySQL
$name = '"'.$mysqli->real_escape_string($nameform).'"';
$comment = '"'.$mysqli->real_escape_string($commentform).'"';

Создаём запрос на добавление записи в таблицу guests
$query = "INSERT INTO guest (name,text) VALUES ($name,$comment)"; 
Выполняем запрос на добавление записи
$result = $mysqli->query($query); 
Проверяем корректность выполнения запроса на запись данных в таблицу
if(!$result)
{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
Закрываем подключение с базой данных MySQL
$mysqli->close();
Обновляем страницу и выводим введённый комментарий
echo("<meta http-equiv='refresh' content='1'>");
}
?>

Полный код PHP скрипта гостевой книги
<p><h1>Книга отзывов</h1></p>
<form method="post">
<p>Введите своё имя <input type="text" name="name"></p>
<p>Введите свой комментарий <input type="text" name="comment"></p>
<input type="submit" name="formSubmit" value="Submit" />
</form>
<p><hr>Отзывы </p>
<?php
$mysqli = new mysqli("localhost", "root", "root", "base_db");
if ($mysqli->connect_errno) {
    echo "Извините, возникла проблема на сайте";
    echo "Ошибка: Не удалось создать соединение с базой MySQL по данной  причине: ";
    echo "Номер ошибки: " . $mysqli->connect_errno . " ";
    echo "Ошибка: " . $mysqli->connect_error . " ";
    exit;
}
$query = "SELECT * FROM guest WHERE 1"; 
$result = $mysqli->query($query); 
while ($row = $result->fetch_assoc()) {
echo '<b>Автор:</b>'.$row["name"].' <b>Отзыв:</b>'.$row["text"];
echo '<br>';
}
if(isset($_POST['formSubmit'])) {
$nameform=$_POST['name'];
$commentform=$_POST['comment'];
$name = '"'.$mysqli->real_escape_string($nameform).'"';
$comment = '"'.$mysqli->real_escape_string($commentform).'"';
$query = "INSERT INTO guest (name,text) VALUES ($name,$comment)"; 
$result = $mysqli->query($query); 
if(!$result)
{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$mysqli->close();
echo("<meta http-equiv='refresh' content='1'>");
}
?>

Таблица  в PhpMyAdmin будет выглядеть следующим образом

таблица гостевой книги
При открытии сайта мы видим уже введённые комментарии

книга отзывов в php
Вводим свой комментарий, нажимаем "Submit" и видим наш комментарий после обновления страницы

новая запись в книге отзывов на php

Вернуться к содержанию курса по PHP       Перейти к  теме Графика в PHP >>

Полезно : Регистрация домена и размещение сайта на хостинге

Поделиться 

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!