用php制作简单的留言本
以下是一个简单的PHP留言本示例代码:
index.php:
<!DOCTYPE html> <html> <head> <title>留言板</title> </head> <body> <h1>留言板</h1> <form action="post.php" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="content">留言内容:</label><br> <textarea id="content" name="content" rows="5" cols="30"></textarea><br> <input type="submit" value="提交"> </form> <hr> <?php require_once('model.php'); $message_list = get_message_list(); foreach ($message_list as $message) { echo "<div>"; echo "<h4>" . $message['name'] . "</h4>"; echo "<p>" . $message['content'] . "</p>"; echo "</div>"; } ?> </body> </html>
model.php:
<?php $DATABASE_HOST = 'localhost'; $DATABASE_USER = 'root'; $DATABASE_PASSWORD = ''; $DATABASE_NAME = 'guestbook'; $con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASSWORD, $DATABASE_NAME); if (mysqli_connect_errno()) { die('连接数据库失败: ' . mysqli_connect_error()); } function get_message_list() { global $con; $result = mysqli_query($con, "SELECT * FROM message"); $message_list = array(); while ($row = mysqli_fetch_assoc($result)) { $message_list[] = $row; } return $message_list; } function add_message($name, $content) { global $con; $name = mysqli_real_escape_string($con, $name); $content = mysqli_real_escape_string($con, $content); $sql = "INSERT INTO message (name, content) VALUES ('$name', '$content')"; mysqli_query($con, $sql); } ?>
post.php:
<?php require_once('model.php'); if (isset($_POST['name']) && isset($_POST['content'])) { $name = $_POST['name']; $content = $_POST['content']; add_message($name, $content); } header("Location: index.php"); exit(); ?>
该留言板使用了MySQL数据库来存储留言信息。要使用该留言板,您需要在MySQL中创建一个名为"guestbook"的数据库,并在其中创建一个名为"message"的表,用于存储留言信息。"message"表包含两个字段:"name"和"content"。执行以下SQL语句即可创建该表:
CREATE TABLE message ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, content VARCHAR(200) NOT NULL )
该留言板的工作流程如下:
用户打开index.php页面,其中包含一个留言表单和已发布留言的列表。
用户填写并提交留言表单。
表单提交到post.php,post.php将留言信息添加到数据库中。
post.php将用户重定向回index.php,用户可以看到刚刚发布的留言。
用户可以继续发布新的留言。
请注意,该留言板的代码只是一个示例,并未包含安全性检查和防止SQL注入攻击的代码。在实际应用中,需要对用户输入进行过滤和验证以确保安全。