1. 简介
留言板是一个常见的 Web 应用,其主要功能就是允许用户在网站上留下他们的评论或建议。在这篇文章中,我们将使用 PHP 语言的基础知识和 MySQL 数据库,介绍如何开发一个简单的留言板应用。
2. 环境设置
2.1. 安装 XAMPP
XAMPP 是一个流行的免费软件包,包括了 Apache、MySQL、PHP 和其他一些有用的工具。因此,我们可以将其作为 Web 应用的本地开发环境。我们可以在Apache Friends官网下载并安装 XAMPP。
2.2. 创建数据库
在 XAMPP 安装目录里找到 phpMyAdmin,并在浏览器中打开,然后创建一个新的数据库,例如叫做 message_board。
CREATE DATABASE message_board;
2.3. 创建数据表
我们需要创建一张表来保存用户留言,该表包括四个字段:
id:留言的唯一标识符
name:留言人姓名
email:留言人邮箱
content:留言内容
运行下面的代码来在数据库中创建一个名为 messages 的数据表。
CREATE TABLE messages (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
content TEXT NOT NULL
)
3. 创建页面
3.1. 编写 HTML
在我们开始编写 PHP 代码前,需要先编写页面的 HTML 部分。下面的代码将展示一个简单的表单,用于留言板的提交。同时,我们需要添加一段代码来展示以前用户留言的列表。
<!-- 留言板表单 -->
<form action="process.php" method="post">
<p>
<label for="name">姓名:</label>
<input type="text" name="name" id="name" required />
</p>
<p>
<label for="email">邮箱:</label>
<input type="email" name="email" id="email" required />
</p>
<p>
<label for="content">内容:</label>
<textarea name="content" id="content" cols="30" rows="10" required></textarea>
</p>
<p><button type="submit">提交</button></p>
</form>
<!-- 留言板列表 -->
<ul>
<?php foreach ($messages as $message) : ?>
<li>
<strong><?php echo $message['name']; ?></strong>
<em><?php echo $message['email']; ?></em>
<p><?php echo $message['content']; ?></p>
</li>
<?php endforeach; ?>
</ul>
3.2. 编写 PHP
现在我们需要编写 PHP 代码,来处理表单数据的提交和显示之前的留言内容。
3.2.1. 处理表单提交
当用户提交表单时,我们需要将其数据插入到数据库表中。下面的代码块展示了我们将表单数据插入到数据库中的过程。
<?php
// 连接数据库
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "message_board";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['content'];
$sql = "INSERT INTO messages (name, email, content)
VALUES ('$name', '$email', '$content')";
if ($conn->query($sql) === TRUE) {
echo "留言成功!";
} else {
echo "出错了: " . $sql . "<br>" . $conn->error;
}
}
// 查询数据库
$sql = "SELECT * FROM messages";
$result = $conn->query($sql);
$messages = [];
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$messages[] = $row;
}
}
// 关闭数据库连接
$conn->close();
?>
3.2.2. 显示留言列表
我们在上面的代码块中查询了数据库,得到了所有已有的留言内容。下面的代码将展示如何遍历查询结果,来生成一个 HTML 列表,并将其显示到页面上。
<ul>
<?php foreach ($messages as $message) : ?>
<li>
<strong><?php echo $message['name']; ?></strong>
<em><?php echo $message['email']; ?></em>
<p><?php echo $message['content']; ?></p>
</li>
<?php endforeach; ?>
</ul>
4. 总结
至此,我们已经成功地创建了一个简单的留言板应用。从这个例子可以看到,使用 PHP 和 MySQL 构建 Web 应用是相对简单,但依旧需要一定的编程基础和一些工具的使用。