引言
本文将介绍如何在PHP中实现用户评论功能,让您的网站拥有更强大的互动性。评论功能是Web应用程序中最常见的功能之一,可以充分发挥Web的互动性和社交性。在这篇文章中,我们将介绍如何将评论评论储存在数据库中,并使用PHP创建用户评论表单,并展示用户评论。
创建数据库表
首先,你需要在数据库中创建一个表来储存用户评论。在MySQL中创建一张表,表名为 "comments",并拥有如下的字段:
CREATE TABLE comments (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
comment TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
在上述代码中, "id" 字段是在每个评论中唯一的标志符,因此我们将其设定为 "PRIMARY KEY" 和 "UNSIGNED"。 "name" 和 "email" 字段用于储存用户的姓名和邮箱。 "comment" 字段用于储存用户评论的内容。 "created_at" 字段将储存评论的时间戳,这个时间戳将在创建评论时自动生成。
创建评论表单
接下来,我们将创建一个表单,用于输入用户的评论。在HTML表单中,我们将使用 "form" 标签和 "textarea" 标签来让用户输入评论。以下是一个简单的表单示例:
<form method="post" action="submit-comment.php">
<div>
<label for="name">姓名</label>
<input type="text" name="name" required>
</div>
<div>
<label for="email">邮箱</label>
<input type="email" name="email" required>
</div>
<div>
<label for="comment">评论</label>
<textarea name="comment" required></textarea>
</div>
<input type="submit" value="提交">
</form>
由此创建了一个表单,要求用户输入姓名、电子邮件地址和评论内容。 "required" 属性要求用户输入此信息,并在提交时禁止空白字段。 "form" 标签的 "action" 属性指向 "submit-comment.php" 页面,我们将在这个页面中对用户评论进行处理。
提交评论并储存到数据库
当用户提交评论后,我们需要将评论储存到我们创建的数据库表中。首先,我们需要通过 "POST" 方法获取表单中的姓名、电子邮件和评论内容。以下是获取这些变量的示例代码:
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
接下来,我们将使用SQL语句将这些变量储存到数据库中。以下是插入数据到 "comments" 表的语句:
//连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
//检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//将评论插入数据库
$sql = "INSERT INTO comments (name, email, comment) VALUES ('$name', '$email', '$comment')";
if (mysqli_query($conn, $sql)) {
echo "Comment added successfully!";
} else {
echo "Error: " . $sql . "" . mysqli_error($conn);
}
mysqli_close($conn);
在这个例子中,我们使用MySQLi函数连接到数据库服务器。然后,我们将用户提交的姓名、电子邮件和评论内容插入到 "comments" 表中。注意,我们将变量嵌入到SQL语句中,需要使用单引号将它们包裹起来。
展示用户评论
最后,我们需要展示用户评论。在这个例子中,我们将使用SELECT语句从 "comments" 表中检索评论。以下是代码示例:
<?php
//连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
//检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//select语句
$sql = "SELECT * FROM comments ORDER BY created_at DESC";
$result = mysqli_query($conn, $sql);
//输出数据
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<div><strong>" . $row["name"] . "</strong> (" . $row["email"] . "):</div>";
echo "<div>" . $row["comment"] . "</div>";
echo "<hr>";
}
} else {
echo "还没有评论";
}
mysqli_close($conn);
?>
在这个例子中,我们使用SELECT语句从 "comments" 表中获取评论,并按创建时间排序。如果评论存在,则使用 "while" 循环遍历执行 SQL 查询结果,并使用 "echo" 命令输出评论。否则,我们将输出消息“还没有评论”。
结论
通过本文的指导,您已经学会如何创建用户评论表单,并将用户评论储存在MySQL数据库中,并展示用户评论。有了这些知识,您可以创建强大的Web应用程序,增加用户的参与程度,并发挥Web的互动性和社交性。