用php+mysql写一个留言板
时间: 2023-06-25 15:01:46 浏览: 55
好的,下面是一个简单的留言板示例,使用 PHP 和 MySQL 实现:
1. 创建一个名为 "messages" 的 MySQL 数据库,其中包含一个名为 "messages" 的表,该表包含以下字段:id(自动递增的主键)、username、email、message 和 created_at(时间戳)。
2. 创建一个 index.php 文件来显示留言板页面,并包含一个表单以允许用户提交新的留言。
```php
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<form action="submit.php" method="POST">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="email">邮箱:</label>
<input type="email" id="email" name="email"><br>
<label for="message">留言:</label>
<textarea id="message" name="message"></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
3. 创建一个 submit.php 文件来处理表单提交,并将数据插入到数据库中。
```php
<?php
// 连接到 MySQL 数据库
$mysqli = new mysqli("localhost", "username", "password", "messages");
// 检查连接是否成功
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
// 获取表单提交的数据
$username = $_POST["username"];
$email = $_POST["email"];
$message = $_POST["message"];
// 插入数据到数据库中
$sql = "INSERT INTO messages (username, email, message, created_at) VALUES ('$username', '$email', '$message', NOW())";
if ($mysqli->query($sql) === TRUE) {
// 成功插入数据,重定向到留言板页面
header("Location: index.php");
exit;
} else {
// 插入数据失败,输出错误信息
echo "Error: " . $sql . "<br>" . $mysqli->error;
}
// 关闭数据库连接
$mysqli->close();
?>
```
4. 创建一个 messages.php 文件来显示所有留言。
```php
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<a href="index.php">添加新留言</a>
<?php
// 连接到 MySQL 数据库
$mysqli = new mysqli("localhost", "username", "password", "messages");
// 检查连接是否成功
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
// 查询所有留言
$sql = "SELECT * FROM messages ORDER BY created_at DESC";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
// 输出每个留言
while($row = $result->fetch_assoc()) {
echo "<div>";
echo "<p><strong>用户名:</strong>" . $row["username"] . "</p>";
echo "<p><strong>邮箱:</strong>" . $row["email"] . "</p>";
echo "<p><strong>留言:</strong>" . $row["message"] . "</p>";
echo "<p><strong>时间:</strong>" . date("Y-m-d H:i:s", strtotime($row["created_at"])) . "</p>";
echo "</div>";
}
} else {
echo "没有留言。";
}
// 关闭数据库连接
$mysqli->close();
?>
</body>
</html>
```
这样就完成了一个简单的留言板,用户可以提交新的留言并在 messages.php 页面上查看所有留言。请注意,此示例仅用于教学目的,并不适用于生产环境。在实际应用中,您应该使用更安全的方法来处理用户输入(例如使用预处理语句)以及验证和过滤数据。