Maison >développement back-end >tutoriel php >PHP implémente la fonction de forum de messages

PHP implémente la fonction de forum de messages

王林
王林original
2023-06-22 17:18:174131parcourir

Avec la popularité d'Internet, les forums de discussion de sites Web sont devenus une fonctionnalité incontournable pour de nombreux sites Web. Il existe de nombreuses façons d’implémenter des forums de discussion, l’une des plus courantes consiste à utiliser PHP. Cet article explique comment utiliser PHP pour implémenter les fonctions de forum de discussion.

1. Conception de la page frontale

Avant de mettre en œuvre le babillard électronique, nous devons d'abord concevoir la page frontale. Une page de forum de discussion typique contient généralement les parties suivantes :

1. Zone de saisie du message : utilisée pour saisir le contenu du message.
2. Liste des messages : utilisée pour afficher les messages existants.
3. Bouton de soumission de message : utilisé pour soumettre des messages.

Sur la base des exigences ci-dessus, nous pouvons concevoir une page HTML de forum de messages avec le code suivant :

<!DOCTYPE html>
<html>
<head>
    <title>留言板</title>
</head>
<body>
    <h1>留言板</h1>
    
    <!-- 留言输入框 -->
    <form action="save_message.php" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name"><br>
        <label for="message">留言内容:</label>
        <textarea id="message" name="message" rows="5" cols="50"></textarea><br>
        <input type="submit" value="提交留言">
    </form>
    
    <hr>
    
    <!-- 留言列表 -->
    <h2>留言列表</h2>
    <?php
        // TODO: 展示留言列表
    ?>
</body>
</html>

Parmi eux, l'attribut action du formulaire pointe vers un save_message.php fichier. Ce fichier implémentera les fonctions d'acceptation des messages soumis et d'affichage de la liste des messages. <code>action属性指向了一个save_message.php文件。这个文件将实现接受提交的留言和展示留言列表的功能。

二、保存留言

接下来,我们需要实现save_message.php文件的逻辑,用于接受来自留言板HTML页面的数据,并将它们保存在数据库中。具体步骤如下:

1.建立MySQL数据库

在MySQL数据库中,我们需要创建一个名为guestbook的数据库,以及一个名为messages的表,用来保存留言。表的结构如下:

CREATE TABLE `messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.编写PHP代码

接下来,我们来编写save_message.php文件的代码。这个文件需要完成以下几个任务:

  • 从表单中接收用户名和留言内容。
  • 将这些数据保存到MySQL数据库中的messages表。
  • 显示保存成功的提示信息。

代码如下所示:

<?php
// 从表单中接收数据
$name = $_POST['name'];
$message = $_POST['message'];

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=guestbook';
$username = 'root';
$password = '';
$db = new PDO($dsn, $username, $password);

// 插入留言
$sql = "INSERT INTO messages (name, message) VALUES (:name, :message)";
$stmt = $db->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':message', $message);
$stmt->execute();

// 输出提示信息
echo '留言保存成功!';

三、展示留言列表

现在,我们已经可以将来自留言板HTML页面的数据保存到MySQL数据库中了。接下来,我们需要修改HTML页面,以便展示已有的留言内容。

修改后的HTML代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>留言板</title>
</head>
<body>
    <h1>留言板</h1>
    
    <!-- 留言输入框 -->
    <form action="save_message.php" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name"><br>
        <label for="message">留言内容:</label>
        <textarea id="message" name="message" rows="5" cols="50"></textarea><br>
        <input type="submit" value="提交留言">
    </form>
    
    <hr>
    
    <!-- 留言列表 -->
    <h2>留言列表</h2>
    <?php
        // 连接数据库
        $dsn = 'mysql:host=localhost;dbname=guestbook';
        $username = 'root';
        $password = '';
        $db = new PDO($dsn, $username, $password);

        // 查询留言
        $sql = "SELECT * FROM messages ORDER BY created_at DESC";
        $stmt = $db->query($sql);
        $messages = $stmt->fetchAll();

        // 展示留言
        foreach ($messages as $message) {
            echo "<p><strong>{$message['name']}:</strong>{$message['message']}</p>";
        }
    ?>
</body>
</html>

在这段代码中,我们首先连接MySQL数据库,然后查询messages

2. Enregistrez le message

Ensuite, nous devons implémenter la logique du fichier save_message.php pour accepter les données de la page HTML du forum et les enregistrer dans la base de données. Les étapes spécifiques sont les suivantes : 🎜🎜1. Créer une base de données MySQL 🎜🎜Dans la base de données MySQL, nous devons créer une base de données nommée guestbook et une table nommée messages, Utilisé pour enregistrer des messages. La structure du tableau est la suivante : 🎜rrreee🎜2. Écrivez le code PHP🎜🎜Ensuite, écrivons le code du fichier save_message.php. Ce fichier doit effectuer les tâches suivantes : 🎜
  • Recevoir le nom d'utilisateur et le contenu du message du formulaire.
  • Enregistrez ces données dans la table messages de la base de données MySQL.
  • Afficher un message d'invite indiquant la réussite de l'enregistrement.
🎜Le code est le suivant :🎜rrreee🎜3. Afficher la liste des messages🎜🎜Maintenant, nous pouvons enregistrer les données de la page HTML du forum dans la base de données MySQL. Ensuite, nous devons modifier la page HTML pour afficher le contenu du message existant. 🎜🎜Le code HTML modifié est le suivant : 🎜rrreee🎜Dans ce code, nous nous connectons d'abord à la base de données MySQL, puis interrogeons tous les messages de la table messages et les trions par heure. Enfin, affichez tous les messages en boucle. 🎜🎜Pour résumer, il n'est pas difficile d'implémenter la fonction de forum de discussion en utilisant PHP, et l'effet est génial. J'espère que cet article pourra être utile aux débutants PHP. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn