php+mysql制作留言板
时间: 2023-10-19 16:05:42 浏览: 215
制作留言板可以分为以下步骤:
1. 创建一个 MySQL 数据库,包含一个留言表
可以使用以下 SQL 语句创建一个名为 `message_board` 的数据库,并在其中创建一个名为 `messages` 的表:
```mysql
CREATE DATABASE message_board;
USE message_board;
CREATE TABLE messages (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
message TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
这个表包含四个字段:`id` 、`name` 、`message` 和 `created_at` 。其中 `id` 是自增长的主键,`name` 是留言者的姓名,`message` 是留言内容,`created_at` 是留言的时间戳。
2. 创建一个 PHP 页面来显示留言板
可以使用以下 HTML 和 PHP 代码来创建一个显示留言板的页面:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<form action="add_message.php" method="post">
<label for="name">姓名:</label>
<input type="text" name="name" id="name"><br><br>
<label for="message">留言:</label>
<textarea name="message" id="message" cols="30" rows="10"></textarea><br><br>
<input type="submit" value="提交">
</form>
<h2>留言列表</h2>
<?php
// TODO: 显示留言列表
?>
</body>
</html>
```
这个页面包含一个表单,用于提交新的留言,并且有一个占位符,用于显示留言列表。
3. 创建一个 PHP 页面来处理添加留言的请求
可以使用以下 PHP 代码来创建一个处理添加留言请求的页面 `add_message.php` :
```php
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "message_board";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 处理 POST 请求
$name = $_POST["name"];
$message = $_POST["message"];
$sql = "INSERT INTO messages (name, message) VALUES ('$name', '$message')";
if ($conn->query($sql) === TRUE) {
echo "留言成功!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
```
这个页面首先连接到 MySQL 数据库,并从 `$_POST` 中获取留言者的姓名和留言内容。然后,它向 `messages` 表中插入一条新的留言记录。
4. 创建一个 PHP 页面来显示留言列表
可以使用以下 PHP 代码来创建一个显示留言列表的页面:
```php
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "message_board";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询留言列表
$sql = "SELECT * FROM messages ORDER BY created_at DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<p>" . $row["name"] . " 于 " . $row["created_at"] . " 留言:</p>";
echo "<p>" . $row["message"] . "</p>";
echo "<hr>";
}
} else {
echo "暂无留言。";
}
$conn->close();
?>
```
这个页面首先连接到 MySQL 数据库,并查询 `messages` 表中的所有记录。然后,它以逆序方式遍历结果集,并将每条留言显示为一个段落。最后,它关闭数据库连接。
5. 将所有页面整合到一起
现在,你可以将所有页面整合到一起,并将它们放在同一个目录下。你可以在浏览器中访问这个目录,就可以看到留言板了。
阅读全文