下面是“简单实现PHP留言板功能”的完整攻略:
1. 准备工作
首先,要准备好开发环境。需要安装一个支持PHP的Web服务器,比如XAMPP,并启动Apache和MySQL服务。同时,还需要一个文本编辑器,用来编写PHP代码。
2. 创建数据库
先在MySQL中创建一个数据库,比如叫做guestbook
。然后,创建一张表,用来存储留言信息。表的结构可以如下:
CREATE TABLE `messages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`content` text COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3. 编写PHP代码
3.1. 显示留言列表
<?php
// 连接数据库
$mysqli = new mysqli('localhost', 'root', '', 'guestbook');
// 查询留言列表
$result = $mysqli->query('SELECT * FROM messages ORDER BY created_at DESC');
// 显示留言列表
while ($row = $result->fetch_assoc()) {
echo '<div>';
echo '<p>用户名:' . htmlspecialchars($row['username']) . '</p>';
echo '<p>内容:' . nl2br(htmlspecialchars($row['content'])) . '</p>';
echo '<p>时间:' . $row['created_at'] . '</p>';
echo '</div>';
}
$result->free();
$mysqli->close();
?>
3.2. 发表留言
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 获取表单数据
$username = $_POST['username'];
$content = $_POST['content'];
// 校验表单数据
$errors = [];
if (empty($username)) {
$errors[] = '用户名不能为空';
}
if (empty($content)) {
$errors[] = '留言内容不能为空';
}
// 如果表单数据校验通过,则插入留言数据到数据库中
if (empty($errors)) {
$mysqli = new mysqli('localhost', 'root', '', 'guestbook');
$stmt = $mysqli->prepare('INSERT INTO messages (username, content, created_at) VALUES (?, ?, NOW())');
$stmt->bind_param('ss', $username, $content);
$stmt->execute();
$stmt->close();
$mysqli->close();
// 重定向到留言列表页
header('Location: index.php');
exit;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>发表留言</title>
</head>
<body>
<h1>发表留言</h1>
<?php if (!empty($errors)): ?>
<ul>
<?php foreach ($errors as $error): ?>
<li><?= $error ?></li>
<?php endforeach ?>
</ul>
<?php endif ?>
<form method="post">
<p>
<label for="username">用户名:</label>
<input type="text" name="username" id="username" value="<?= htmlspecialchars($_POST['username'] ?? '') ?>">
</p>
<p>
<label for="content">留言内容:</label>
<textarea name="content" id="content"><?= htmlspecialchars($_POST['content'] ?? '') ?></textarea>
</p>
<p>
<button type="submit">发表留言</button>
</p>
</form>
</body>
</html>
4. 测试应用
将以上代码保存为index.php
和post.php
文件,并放置在Web服务器的根目录下。然后,打开浏览器访问http://localhost
即可看到留言列表页,访问http://localhost/post.php
即可发表留言。
示例1:如果留言板页面中有中文字符且在数据库中正确存储和展示,则表明该应用支持UTF-8编码。
示例2:如果用户在发表留言时输入一条空记录,则应该返回错误提示,并拒绝写入数据库。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单实现PHP留言板功能 - Python技术站