В этой статье мы рассмотрим, как создать простую, но эффективную систему комментариев на PHP. Системы комментариев являются неотъемлемой частью многих веб-сайтов, позволяя пользователям обмениваться мнениями, задавать вопросы и активно участвовать в дискуссиях. Давайте начнем!
Первым шагом является создание базы данных для хранения комментариев. Используя PHPMyAdmin или другой инструмент администрирования баз данных, создайте новую базу данных с именем, например, comments_db
. Затем создайте таблицу comments
со следующими столбцами:
id
: INT, автоинкрементное поле, служит в качестве уникального идентификатора комментария.name
: VARCHAR, хранит имя пользователя, оставившего комментарий.comment
: TEXT, содержит текст комментария.created_at
: TIMESTAMP, автоматически заполняемое поле, содержит дату и время создания комментария.Теперь давайте создадим HTML-форму, которая позволит пользователям отправлять комментарии. Создайте новый файл с именем comments.php
и добавьте следующий код:
<!DOCTYPEhtml>
<html>
<head>
<title>Система комментариев</title>
</head>
<body>
<h2>Оставить комментарий</h2>
<formaction="add_comment.php"method="POST">
<label>Имя:</label><br>
<inputtype="text"name="name"required><br><br>
<label>Комментарий:</label><br>
<textareaname="comment"rows="5"required></textarea><br><br>
<inputtype="submit"value="Отправить комментарий">
</form>
</body>
</html>
Этот код создает простую HTML-форму с полями для имени пользователя и текста комментария. Форма отправит данные на страницу add_comment.php
.
Теперь нам нужно создать файл add_comment.php
, который будет обрабатывать отправленные комментарии и добавлять их в базу данных. Создайте файл add_comment.php
и добавьте следующий код:
<?php
// Подключение к базе данных
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "comments_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Получение данных из формы
$name = $_POST['name'];
$comment = $_POST['comment'];
// Вставка комментария в базу данных
$sql = "INSERT INTO comments (name, comment) VALUES ('$name', '$comment')";
if ($conn->query($sql) === TRUE) {
echo "Комментарий успешно добавлен!";
} else {
echo "Ошибка: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Не забудьте заменить 'your_username'
и 'your_password'
на ваши реальные данные для подключения к базе данных.
Теперь давайте создадим страницу, которая будет отображать все комментарии из базы данных. Создайте новый файл с именем view_comments.php
и добавьте следующий код:
<?php
// Подключение к базе данных
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "comments_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Извлечение комментариев из базы данных
$sql = "SELECT * FROM comments";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<p><strong>" . $row['name'] . "</strong>: " . $row['comment'] . "</p>";
echo "<p><small>" . $row['created_at'] . "</small></p>";
echo "<hr>";
}
} else {
echo "Пока нет комментариев.";
}
$conn->close();
?>
Не забудьте также заменить 'your_username'
и 'your_password'
на свои реальные данные для подключения к базе данных.
Теперь вы можете создать страницу, на которой будет отображаться форма комментариев и список всех комментариев. Создайте новый файл с именем index.php
и добавьте следующий код:
<!DOCTYPEhtml>
<html>
<head>
<title>Система комментариев</title>
</head>
<body>
<h2>Оставить комментарий</h2>
<formaction="add_comment.php"method="POST">
<label>Имя:</label><br>
<inputtype="text"name="name"required><br><br>
<label>Комментарий:</label><br>
<textareaname="comment"rows="5"required></textarea><br><br>
<inputtype="submit"value="Отправить комментарий">
</form>
<h2>Комментарии</h2>
<?php include 'view_comments.php'; ?>
</body>
</html>
Теперь запустите ваш веб-сервер с PHP и откройте файл index.php
. Вы должны видеть форму для отправки комментариев и список всех комментариев, добавленных пользователями.
Поздравляю! Вы только что создали простую систему комментариев на PHP. Вы можете расширить функциональность, добавив функции редактирования и удаления комментариев, функции пагинации для отображения большого количества комментариев и многое другое. Имейте в виду правила безопасности, связанные с вводом пользователя, чтобы защитить ваше приложение от атак.
Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter