如何使用 PHP 实现在线问卷调查和反馈功能

介绍

在线问卷调查和反馈功能是很多网站都需要的一个功能,可以用来收集用户的反馈和意见,以便改进网站。在这篇文章中,我们将讨论如何使用 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 实现这个功能,包括设置数据库、创建问卷调查表单、处理表单数据、显示用户反馈以及样式化网页。希望这篇文章对你有所帮助。

后端开发标签