Maison >développement back-end >Problème PHP >Créer un forum de discussion modifiable en php

Créer un forum de discussion modifiable en php

PHPz
PHPzoriginal
2023-05-07 13:47:07795parcourir

Avec la popularisation progressive d'Internet, les sites Web sont devenus l'un des principaux moyens permettant aux gens d'obtenir des informations, des communications et des divertissements. En tant qu'outil de communication commun sur le site Web, le forum de discussion est devenu un élément indispensable du site Web. Dans cet article, nous présenterons comment utiliser PHP pour créer un forum de messages modifiable.

1. Configuration de l'environnement

Pour créer un forum de messages, vous devez d'abord configurer l'environnement correspondant. Ici, nous utiliserons XAMPP pour configurer un environnement de serveur local.

Les étapes sont les suivantes :

  1. Téléchargez et installez le logiciel XAMPP ;
  2. Démarrez les services Apache et MySQL de XAMPP
  3. Ouvrez le navigateur, entrez localhost, sélectionnez la langue et la méthode d'authentification sur la page, puis entrez le XAMPP ; panneau de gestion ;
  4. Dans le panneau de gestion, cliquez sur phpMyAdmin pour accéder à la page de gestion de la base de données.

2. Créer une base de données et une table de données

Créez une base de données et nommez-la livre d'or. Créez une table de données nommée messages sous la base de données. La table de données contient les champs suivants :

Nom du champ type longueur description
id int 11 ID de message, clé primaire, incrémentation automatique
nom d'utilisateur varchar 50 Nom d'utilisateur
email varchar 100 Email
message text Contenu du message
post_time datetime Heure du message

3. Créer une page de babillard électronique

Dans cette étape, nous allons créer une page de babillard électronique afin que les utilisateurs puissent remplir des messages sur cette page et afficher les messages existants.

1. Créez l'interface utilisateur de la page du babillard électronique

Ajoutez le code suivant dans le code HTML :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>可修改的留言板</title>
</head>
<body>
    <h1>留言板</h1>

    <div>
        <form method="POST" action="post_message.php">
            <h3>发布留言</h3>
            用户名:<input type="text" name="username"><br>
            邮箱:<input type="email" name="email"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"></textarea><br>
            <input type="submit" value="发布">
        </form>
    </div>

    <div>
        <h3>最新留言</h3>
        <?php
            // 显示最新留言
        ?>
    </div>
</body>
</html>

Comme vous pouvez le voir, la page du babillard électronique contient deux parties, l'une est le formulaire pour publier des messages et l'autre est la liste des messages existants.

2. Soumettre un message

Après avoir soumis le formulaire sur la page du forum, les données soumises doivent être enregistrées dans la base de données.

Créez un fichier nommé post_message.php dans le répertoire racine pour traiter les données du formulaire de soumission de message.

Ajoutez le code suivant dans le fichier :

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];
$post_time = date("Y-m-d H:i:s");

// 插入留言到数据库中
$sql = "INSERT INTO messages (username, email, message, post_time)
        VALUES ('$username', '$email', '$message', '$post_time')";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言发布成功!";
} else {
    echo "留言发布失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>

Dans ce fichier, connectez-vous d'abord à la base de données et récupérez les données du formulaire. Les données sont ensuite insérées dans la table de données des messages.

3. Afficher les messages

Dans la page du forum, les derniers messages doivent être affichés. Pour ce faire, vous pouvez afficher la liste des messages de la base de données dans la deuxième partie de la page du forum.

En html, modifiez le code suivant :

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
            </div>
        <?php
        }
        ?>
</div>

Dans ce code, interrogez d'abord la table de données des messages dans la base de données et enregistrez les données du message interrogées dans $result. Par la suite, les données du message sont parcourues par une boucle while et affichées sur la page.

4. Modifier les messages

Dans le forum de messages, les utilisateurs peuvent modifier les messages soumis.

Dans le code html, modifiez le code pour afficher le message comme suit :

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
                <a href="edit_message.php?id=<?php echo $row['id']; ?>">修改</a>
            </div>
        <?php
        }
        ?>
</div>

Vous pouvez constater qu'un hyperlien a été ajouté pour modifier le message.

Dans le fichier edit_message.php, ajoutez le code suivant :

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取留言ID
$id = $_GET['id'];

// 根据ID查询留言信息
$sql = "SELECT * FROM messages WHERE id=$id LIMIT 1";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);

// 显示留言内容的表单
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>修改留言</title>
</head>
<body>
    <h1>修改留言</h1>

    <div>
        <form method="POST" action="save_message.php">
            <h3>修改留言</h3>
            用户名:<input type="text" name="username" value="<?php echo $row['username']; ?>"><br>
            邮箱:<input type="email" name="email" value="<?php echo $row['email']; ?>"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"><?php echo $row['message']; ?></textarea><br>
            <input type="hidden" name="id" value="<?php echo $row['id']; ?>">
            <input type="submit" value="保存">
        </form>
    </div>
</body>
</html>

<?php
// 关闭数据库连接
mysqli_close($link);
?>

Dans ce code, interrogez d'abord les informations du message en fonction de l'ID et affichez les données du message interrogées dans le formulaire. L'utilisateur peut alors modifier le message sur cette page. Parmi eux, la saisie du champ masqué est utilisée pour enregistrer l'ID du message afin que la base de données puisse être mise à jour en fonction de l'ID lorsque le message est enregistré ultérieurement.

Dans le fichier save_message.php, ajoutez le code suivant :

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];

// 更新留言
$sql = "UPDATE messages SET username='$username', email='$email', message='$message' WHERE id=$id";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言更新成功!";
} else {
    echo "留言更新失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>

Dans ce fichier, connectez-vous d'abord à la base de données et obtenez les données du message et l'ID du message dans le formulaire. Par la suite, les données du message dans la base de données sont mises à jour en fonction de l'ID.

5. Résumé

Grâce à l'introduction de cet article, je pense que les lecteurs ont appris à utiliser PHP pour créer un forum de discussion modifiable. Dans le processus de développement actuel, le babillard électronique peut également être étendu avec des fonctions plus riches, telles que la réponse aux messages, l'affichage du nombre de messages, le tri par heure, etc.

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