随着互联网的逐渐普及,网站已经成为人们获取信息、交流、娱乐的主要途径之一。而留言板作为网站上常见的交流工具之一,更是成为了网站不可或缺的一部分。在这篇文章中,将介绍如何使用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中文网其他相关文章!