隨著網路的逐漸普及,網站成為人們獲取資訊、交流、娛樂的主要途徑之一。而留言板作為網站上常見的溝通工具之一,更成為了網站不可或缺的一部分。在這篇文章中,將介紹如何使用PHP製作一個可修改的留言板。
一、環境建構
要製作一個留言板,首先需要建造對應的環境。在這裡,我們將使用XAMPP來建立本機伺服器環境。
步驟如下:
二、建立資料庫和資料表
建立一個資料庫,取名為guestbook。在該資料庫下建立一個名為messages的資料表,該資料表包含以下欄位:
欄位名稱類型長度說明
id int 11 留言ID,主鍵,自增
username varchar 50 使用者名稱
email varchar 100 信箱
message text 留言內容
post_time datetime 留言時間
三、製作留言板頁面
在這個步驟中,我們將製作一個留言板頁面,讓使用者可以在該頁面中填寫留言,並顯示已經存在的留言。
1.製作留言板頁面的UI
在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>
可以看到,留言板頁麵包含兩部分,一部分是發佈留言的表單,另一部分是已經存在的留言清單。
2.提交留言
在留言板頁面中提交表單後,需要將提交的資料儲存到資料庫中。
在根目錄下建立一個名為post_message.php的文件,用於處理提交留言表單中的資料。
在該檔案中新增以下程式碼:
<?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); ?>
在該檔案中,首先連接資料庫,並取得表單資料。隨後將資料插入messages資料表中。
3.顯示留言
在留言板頁面中,需要顯示最新的留言。為此,可以在留言板頁面的第二部分顯示資料庫中的留言清單。
在html中,修改以下程式碼:
<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>
在程式碼中,先查詢資料庫中的messages資料表,並將查詢的留言資料儲存到$result。隨後,透過while循環遍歷留言數據,並將其顯示到頁面上。
四、修改留言
在留言板中,使用者可以修改已經提交的留言。
在html程式碼中,修改顯示留言的程式碼如下:
<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>
可以看到,已經新增了一個超鏈接,用於修改留言。
在edit_message.php檔案中,加入以下程式碼:
<?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); ?>
在程式碼中,首先根據ID查詢留言信息,並將查詢到的留言資料顯示到form表單中。隨後使用者就可以在該頁面中修改留言。其中,隱藏域input用來保存留言ID,以便後面儲存留言時可以根據ID更新資料庫。
在save_message.php檔案中,加入以下程式碼:
<?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); ?>
在該檔案中,先連接資料庫,並取得表單中的留言資料和留言ID。隨後,根據ID更新資料庫中的留言資料。
五、總結
透過本文的介紹,相信讀者已經了解如何使用PHP製作可修改的留言板。在實際開發過程中,還可以對留言板進行更豐富的功能擴展,如留言的回應、顯示留言數、按時間排序等。
以上是php製作可修改的留言板的詳細內容。更多資訊請關注PHP中文網其他相關文章!