訪客留言板是許多網站必備的互動功能之一,能夠讓用戶在網站上留下反饋、建議或評論。在本文中,我們將通過PHP語言介紹如何從零開始開發一個簡單但功能完備的訪客留言板,讓用戶能夠輕鬆提交留言並查看其他留言。
首先,我們需要在數據庫中創建一個存儲留言信息的表。可以使用phpMyAdmin或其他MySQL管理工具來創建數據庫。以下是創建數據庫和數據表的SQL語句:
CREATE TABLE messages ( id INT(11) AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, message TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
接下來,我們需要設計一個表單,讓用戶可以提交姓名、電子郵件和留言內容。以下是表單的HTML代碼:
<form action="submit.php" method="post"> <label for="name">姓名:</label> <input type="text" name="name" id="name" required><br> <label for="email">電子郵件:</label> <input type="email" name="email" id="email" required><br> <label for="message">留言內容:</label> <textarea name="message" id="message" cols="30" rows="10" required></textarea><br> <input type="submit" value="提交留言"> </form>
當用戶提交表單後,我們需要用PHP代碼來處理數據並將其保存到數據庫中。以下是一個簡單的PHP腳本,處理表單提交並將留言存入數據庫:
<?php // 連接數據庫 $mysqli = new mysqli('localhost', 'username', 'password', 'guestbook'); // 檢查連接 if ($mysqli-> connect_error) { die('數據庫連接失敗:' . $mysqli->connect_error); } // 處理表單數據$name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; // 準備插入留言的SQL語句$sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')"; // 執行插入操作if ($mysqli->query($sql) === true) { echo '留言提交成功! '; } else { echo '留言提交失敗:' . $mysqli->error; } // 關閉數據庫連接$mysqli->close(); ?>
最後,我們需要從數據庫中獲取留言數據,並在網頁上展示所有留言。以下是PHP代碼示例:
<?php // 連接數據庫 $mysqli = new mysqli('localhost', 'username', 'password', 'guestbook'); // 檢查連接 if ($mysqli-> connect_error) { die('數據庫連接失敗:' . $mysqli->connect_error); } // 查詢留言數據$sql = "SELECT * FROM messages ORDER BY created_at DESC"; $result = $mysqli->query($sql); // 顯示留言列表if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo '<div> '; echo '<h3> ' . $row['name'] . '(' . $row['email'] . ')</h3> '; echo '<p> ' . $row['message'] . '</p> '; echo '</div> '; } } else { echo '暫無留言'; } // 關閉數據庫連接$mysqli->close(); ?>
通過以上步驟,我們已經成功開發了一個簡單的訪客留言板功能。用戶可以通過表單提交留言,留言數據會存儲在數據庫中並展示在網頁上。借助PHP的簡潔性和強大功能,開發這樣一個留言板非常高效。希望本文對你有所幫助!