php实现留言板功能
数据库设计
创建留言板所需的数据库表结构。通常需要一个表来存储留言信息,包括留言ID、用户名、留言内容、留言时间等字段。
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
连接数据库
使用PHP连接MySQL数据库,确保在操作前已正确配置数据库信息。
$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());
}
提交留言功能
创建表单页面用于提交留言,表单提交后处理数据并存入数据库。

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$content = $_POST['content'];
$stmt = $pdo->prepare("INSERT INTO messages (username, content) VALUES (?, ?)");
$stmt->execute([$username, $content]);
header("Location: index.php");
exit;
}
显示留言列表
从数据库中查询留言数据并在页面上展示,按时间倒序排列。
$stmt = $pdo->query("SELECT * FROM messages ORDER BY created_at DESC");
$messages = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($messages as $message) {
echo "<div class='message'>";
echo "<h3>" . htmlspecialchars($message['username']) . "</h3>";
echo "<p>" . htmlspecialchars($message['content']) . "</p>";
echo "<small>" . $message['created_at'] . "</small>";
echo "</div>";
}
前端表单设计
创建HTML表单用于用户输入留言内容,确保表单字段与后端处理逻辑匹配。

<form method="POST" action="post_message.php">
<input type="text" name="username" placeholder="您的姓名" required>
<textarea name="content" placeholder="留言内容" required></textarea>
<button type="submit">提交留言</button>
</form>
安全防护措施
对用户输入进行过滤和转义,防止SQL注入和XSS攻击。
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$content = filter_input(INPUT_POST, 'content', FILTER_SANITIZE_STRING);
分页功能实现
当留言数量较多时,实现分页功能提升用户体验。
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 5;
$offset = ($page - 1) * $perPage;
$stmt = $pdo->prepare("SELECT * FROM messages ORDER BY created_at DESC LIMIT :offset, :perPage");
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->bindParam(':perPage', $perPage, PDO::PARAM_INT);
$stmt->execute();
样式美化
使用CSS为留言板添加基本样式,提升页面美观度。
.message {
border: 1px solid #ddd;
padding: 15px;
margin-bottom: 10px;
border-radius: 5px;
}
.message h3 {
margin-top: 0;
}






