Для создания гостевой книги на PHP можно использовать базу данных MySQL и следующий код:

1. Создайте таблицу в базе данных MySQL:

«`sql

CREATE TABLE guestbook (

  id INT(11) NOT NULL AUTO_INCREMENT,

  name VARCHAR(50) NOT NULL,

  email VARCHAR(50) NOT NULL,

  message TEXT NOT NULL,

  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (id)

);

«`

2. Создайте файлы index.php и process.php.

3. В файле index.php создайте форму для отправки сообщения:

«`html

<form action=»process.php» method=»post»>

  <label for=»name»>Name:</label>

  <input type=»text» name=»name» id=»name» required>

  <label for=»email»>Email:</label>

  <input type=»email» name=»email» id=»email» required>

  <label for=»message»>Message:</label>

  <textarea name=»message» id=»message» required></textarea>

  <button type=»submit»>Submit</button>

</form>

«`

4. В файле process.php обработайте данные из формы и добавьте их в базу данных:

«`php

<?php

// Подключение к базе данных

$host = ‘localhost’;

$user = ‘username’;

$password = ‘password’;

$dbname = ‘database_name’;

$dsn = «mysql:host=$host;dbname=$dbname;charset=utf8mb4»;

$options = [

  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,

  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,

  PDO::ATTR_EMULATE_PREPARES => false,

];

try {

  $pdo = new PDO($dsn, $user, $password, $options);

} catch (\PDOException $e) {

  throw new \PDOException($e->getMessage(), (int)$e->getCode());

}

// Обработка данных из формы

$name = $_POST[‘name’];

$email = $_POST[’email’];

$message = $_POST[‘message’];

// Добавление данных в базу данных

$stmt = $pdo->prepare(«INSERT INTO guestbook (name, email, message) VALUES (?, ?, ?)»);

$stmt->execute([$name, $email, $message]);

// Перенаправление на главную страницу

header(‘Location: index.php’);

exit;

«`

5. В файле index.php выведите все сообщения из базы данных:

«`php

<?php

// Подключение к базе данных

$host = ‘localhost’;

$user = ‘username’;

$password = ‘password’;

$dbname = ‘database_name’;

$dsn = «mysql:host=$host;dbname=$dbname;charset=utf8mb4»;

$options = [

  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,

  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,

  PDO::ATTR_EMULATE_PREPARES => false,

];

try {

  $pdo = new PDO($dsn, $user, $password, $options);

} catch (\PDOException $e) {

  throw new \PDOException($e->getMessage(), (int)$e->getCode());

}

// Получение всех сообщений из базы данных

$stmt = $pdo->query(«SELECT * FROM guestbook ORDER BY created_at DESC»);

$messages = $stmt->fetchAll();

?>

<!— Вывод всех сообщений —>

<?php foreach ($messages as $message): ?>

  <div>

    <h3><?= $message[‘name’] ?></h3>

    <p><?= $message[’email’] ?></p>

    <p><?= $message[‘message’] ?></p>

    <p><?= $message[‘created_at’] ?></p>

  </div>

<?php endforeach; ?>

«`

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

От admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *