PHP實作留言板功能

王林
發布: 2023-06-22 17:20:01
原創
4092 人瀏覽過

隨著網路的普及,網站留言板已經成為了許多網站必備的功能。留言板的實作方式有很多,其中比較常見的一種是使用PHP來實現。這篇文章將介紹如何使用PHP來實現留言板功能。

一、前端頁面設計

在實作留言板之前,我們需要先進行前端頁面的設計。典型的留言板頁面通常包含以下幾個部分:

1.留言輸入框:用於輸入留言內容。
2.留言清單:用來展示已有的留言。
3.留言提交按鈕:用於提交留言。

根據上述需求,我們可以設計一個留言板的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
        // TODO: 展示留言列表
    ?>
</body>
</html>
登入後複製

其中,表單的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表格中的所有留言,並依照時間排序。最後,透過循環展示所有留言。

綜上所述,使用PHP實現留言板功能並不難,而且效果很棒。希望這篇文章能夠對PHP初學者有幫助。

以上是PHP實作留言板功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!