介绍
在线问卷调查和反馈功能是很多网站都需要的一个功能,可以用来收集用户的反馈和意见,以便改进网站。在这篇文章中,我们将讨论如何使用 PHP 实现这个功能。
设置数据库
创建数据库
首先,我们需要创建一个数据库来存储用户的反馈和意见。可以使用 phpMyAdmin 或者其他类似的工具来创建一个 MySQL 数据库。在这个数据库中,我们需要创建一个表来存储用户提交的数据。
可以使用以下 SQL 语句来创建这个表:
CREATE TABLE `feedback` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`feedback` text NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这个表包含五个字段:
id:唯一标识符,自动递增。
name:用户的姓名。
email:用户的邮箱地址。
feedback:用户提交的反馈和意见。
created_at:反馈提交的时间戳。
连接数据库
一旦我们创建了数据库和表,我们需要在 PHP 中连接数据库。可以使用以下代码来连接数据库:
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
在这个代码中,$servername、$username、$password 和 $dbname 分别是数据库服务器地址、用户名、密码和数据库名称。
创建问卷调查表单
现在,我们可以创建一个网页来显示问卷调查表单,以便用户可以提交反馈和意见。可以使用以下代码来创建表单:
<form action="submit.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" required>
<label for="email">Email:</label>
<input type="email" name="email" id="email" required>
<label for="feedback">Feedback:</label>
<textarea name="feedback" id="feedback" required></textarea>
<input type="submit" value="Submit">
</form>
这个表单包含三个字段:Name、Email 和 Feedback。用户需要填写这些字段才能提交表单。表单数据将在 submit.php 文件中处理。
处理表单数据
一旦用户提交了表单,我们需要处理表单数据并将其存储到数据库中。可以使用以下代码来处理表单数据:
<?php
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$feedback = $_POST['feedback'];
$created_at = date("Y-m-d H:i:s");
// 将数据存储到数据库中
$sql = "INSERT INTO `feedback` (`name`, `email`, `feedback`, `created_at`) VALUES ('$name', '$email', '$feedback', '$created_at')";
if ($conn->query($sql) === TRUE) {
echo "Feedback submitted successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
在这个代码中,我们首先获取表单字段的值。然后,我们使用当前时间戳为反馈创建时间。最后,我们将数据存储到 feedback 表中。
显示用户反馈
现在,我们可以创建一个页面来显示用户提交的反馈和意见。可以使用以下代码来查询数据库中的数据并显示它们:
<?php
// 查询数据库中的数据
$sql = "SELECT * FROM `feedback` ORDER BY `created_at` DESC";
$result = $conn->query($sql);
// 显示数据
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div class='feedback'>";
echo "<h3>" . $row["name"] . "</h3>";
echo "<p>" . $row["feedback"] . "</p>";
echo "<p class='timestamp'>" . $row["created_at"] . "</p>";
echo "</div>";
}
} else {
echo "No feedback yet";
}
$conn->close();
?>
在这个代码中,我们首先查询 feedback 表中的所有记录并按照创建时间的降序排序。然后,我们循环遍历查询结果并显示每一条记录。
样式表
为了使网页看起来更好看一些,我们可以使用 CSS 样式表来设置样式。可以使用以下代码来设置样式:
form {
width: 500px;
margin: auto;
}
label, input, textarea {
display: block;
margin-bottom: 10px;
}
input[type='submit'] {
margin-top: 10px;
}
.feedback {
border: 1px solid #ccc;
padding: 10px;
margin-bottom: 10px;
}
.feedback h3 {
margin-top: 0;
}
.feedback .timestamp {
font-size: 12px;
color: #888;
}
这个 CSS 样式表包含一些基本的样式设置,使表单和反馈记录看起来更好看一些。
总结
在线问卷调查和反馈功能是一个非常常见的功能,可以帮助网站收集用户的反馈和意见。在这篇文章中,我们讨论了如何使用 PHP 实现这个功能,包括设置数据库、创建问卷调查表单、处理表单数据、显示用户反馈以及样式化网页。希望这篇文章对你有所帮助。