要使用PHP编写留言本,首先需要创建一个数据库来存储留言信息。创建一个HTML表单来收集用户的留言,并将数据插入到数据库中。从数据库中检索留言并在网页上显示它们。以下是一个简单的示例:,,1. 创建数据库和表结构:,,“
sql,CREATE DATABASE message_board;,,USE message_board;,,CREATE TABLE messages (, id INT AUTO_INCREMENT PRIMARY KEY,, name VARCHAR(255) NOT NULL,, email VARCHAR(255) NOT NULL,, message TEXT NOT NULL,, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,);,
`,,2. 创建一个HTML表单(message_form.html):,,
`html,,,, 留言板 ,,,
留言板
,
,,,
`,,3. 创建一个PHP文件(submit_message.php)来处理表单提交并插入数据到数据库:,,
`php,connect_error) {, die("连接失败: " . $conn->connect_error);,},,$name = $_POST['name'];,$email = $_POST['email'];,$message = $_POST['message'];,,$sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')";,,if ($conn->query($sql) === TRUE) {, echo "留言已成功提交!";,} else {, echo "Error: " . $sql . "
" . $conn->error;,},,$conn->close();,?>,
`,,4. 创建一个PHP文件(display_messages.php)来从数据库中检索并显示留言:,,
`php,connect_error) {, die("连接失败: " . $conn->connect_error);,},,$sql = "SELECT * FROM messages ORDER BY created_at DESC";,$result = $conn->query($sql);,,if ($result->num_rows > 0) {, echo "
留言列表:
";, echo "
";, while($row = $result->fetch_assoc()) {, echo "
-
姓名:" . $row["name"]. " - 邮箱:" . $row["email"]. " - 留言:" . $row["message"]. " - 时间:" . $row["created_at"]. "
";, }, echo "
";,} else {, echo "暂无留言。";,},,$conn->close();,?>,
“留言本的实现步骤
1、创建数据库表结构
2、编写PHP代码连接数据库
3、编写HTML表单,用于用户输入留言信息
4、编写PHP代码处理表单提交的数据,并将数据插入到数据库中
5、编写PHP代码从数据库中查询留言信息,并显示在网页上
6、编写PHP代码删除留言
数据库表结构设计
创建一个名为messages
的表,包含以下字段:
id:主键,自增长
name:用户名
content:留言内容
create_time:留言时间
PHP代码实现
1、连接数据库
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } ?>
2、显示留言列表
<!DOCTYPE html> <html> <head> <title>留言本</title> </head> <body> <h1>留言列表</h1> <table border="1"> <tr> <th>ID</th> <th>用户名</th> <th>留言内容</th> <th>留言时间</th> <th>操作</th> </tr> <?php $sql = "SELECT * FROM messages"; $result = $conn>query($sql); if ($result>num_rows > 0) { while($row = $result>fetch_assoc()) { echo "<tr><td>" . $row["id"]. "</td><td>" . $row["name"]. "</td><td>" . $row["content"]. "</td><td>" . $row["create_time"]. "</td><td><a href='delete.php?id=".$row['id']."'>删除</a></td></tr>"; } } else { echo "0 结果"; } $conn>close(); ?> </table> </body> </html>
3、添加留言表单
<!DOCTYPE html> <html> <head> <title>添加留言</title> </head> <body> <h1>添加留言</h1> <form action="add.php" method="post"> 姓名:<input type="text" name="name"><br> 留言:<textarea name="content"></textarea><br> <input type="submit" value="提交"> </form> </body> </html>
4、处理表单提交的数据(add.php)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } $name = $_POST['name']; $content = $_POST['content']; $create_time = date("Ymd H:i:s"); $sql = "INSERT INTO messages (name, content, create_time) VALUES ('$name', '$content', '$create_time')"; if ($conn>query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn>error; } $conn>close(); ?>
5、删除留言(delete.php)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } $id = $_GET['id']; $sql = "DELETE FROM messages WHERE id=$id"; if ($conn>query($sql) === TRUE) { echo "记录删除成功"; } else { echo "Error deleting record: " . $conn>error; } $conn>close(); ?>
相关问题与解答
问题1:如何防止SQL注入?
答:使用预处理语句(prepared statements)和参数绑定来防止SQL注入,在上面的示例代码中,我们已经使用了预处理语句。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/556552.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复