Maison >développement back-end >tutoriel php >PHP implémente la fonction de forum de messages
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
文件的代码。这个文件需要完成以下几个任务:
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
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 : 🎜messages
de la base de données MySQL. 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!