php实现留言代码
PHP留言板实现代码
以下是一个简单的PHP留言板实现代码,包含提交留言和显示留言功能。
数据库准备
创建MySQL数据库表结构:

CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100),
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
连接数据库
创建数据库连接文件config.php:

<?php
$host = 'localhost';
$dbname = 'message_board';
$username = 'root';
$password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("数据库连接失败: " . $e->getMessage());
}
?>
留言提交处理
创建留言提交处理文件post_message.php:
<?php
require 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = htmlspecialchars(trim($_POST['name']));
$email = filter_var(trim($_POST['email']), FILTER_VALIDATE_EMAIL);
$content = htmlspecialchars(trim($_POST['content']));
if (empty($name) || empty($content)) {
die('姓名和留言内容不能为空');
}
try {
$stmt = $pdo->prepare("INSERT INTO messages (name, email, content) VALUES (?, ?, ?)");
$stmt->execute([$name, $email, $content]);
header('Location: index.php');
exit();
} catch(PDOException $e) {
die("留言提交失败: " . $e->getMessage());
}
}
?>
显示留言
创建显示留言文件index.php:
<?php
require 'config.php';
// 获取留言列表
try {
$stmt = $pdo->query("SELECT * FROM messages ORDER BY created_at DESC");
$messages = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die("获取留言失败: " . $e->getMessage());
}
?>
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
<style>
.message { border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; }
</style>
</head>
<body>
<h1>留言板</h1>
<form action="post_message.php" method="post">
姓名: <input type="text" name="name" required><br>
邮箱: <input type="email" name="email"><br>
留言内容: <textarea name="content" required></textarea><br>
<button type="submit">提交留言</button>
</form>
<hr>
<h2>留言列表</h2>
<?php foreach ($messages as $message): ?>
<div class="message">
<h3><?= htmlspecialchars($message['name']) ?></h3>
<p><?= nl2br(htmlspecialchars($message['content'])) ?></p>
<small><?= $message['created_at'] ?></small>
</div>
<?php endforeach; ?>
</body>
</html>
安全注意事项
- 使用
htmlspecialchars()防止XSS攻击 - 使用预处理语句防止SQL注入
- 验证邮箱格式
- 对输出内容进行转义处理
扩展功能建议
- 添加分页功能
- 实现管理员回复功能
- 增加留言审核机制
- 添加验证码防止垃圾留言
这个基础实现包含了留言板的核心功能,可以根据实际需求进行扩展和优化。






