PHP在线客户反馈收集系统

admin 2025-01-13 477 0

在当今互联网时代,客户反馈对于企业的成长至关重要。一个高效、便捷的在线客户反馈收集系统能够帮助企业及时了解用户需求,优化产品和服务。本文将详细介绍如何使用PHP构建一个简单的在线客户反馈收集系统。

PHP在线客户反馈收集系统

系统需求分析

首先,我们需要明确系统的基本功能:

  1. 用户提交反馈:用户可以通过表单提交反馈信息。
  2. 数据存储:将用户提交的反馈存储在数据库中。
  3. 管理员查看反馈:管理员可以登录系统查看所有用户反馈。
  4. 反馈管理:管理员可以对反馈进行分类、标记和回复。

环境搭建

1. 安装PHP和MySQL

确保你的服务器已经安装了PHP和MySQL。可以使用XAMPP、WAMP等集成环境进行快速搭建。

2. 创建数据库

在MySQL中创建一个名为feedback_system的数据库,并创建一个表feedback来存储用户反馈信息:

CREATE DATABASE feedback_system;
USE feedback_system;

CREATE TABLE feedback (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    message TEXT,
    submitted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

编写PHP代码

1. 用户反馈表单

创建一个HTML表单,让用户可以提交反馈信息。保存为index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>客户反馈表单</title>
</head>
<body>
    <h1>提交您的反馈</h1>
    <form action="submit_feedback.php" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name" required><br><br>
        <label for="email">邮箱:</label>
        <input type="email" id="email" name="email" required><br><br>
        <label for="message">反馈内容:</label>
        <textarea id="message" name="message" required></textarea><br><br>
        <input type="submit" value="提交反馈">
    </form>
</body>
</html>

2. 处理反馈提交

创建submit_feedback.php来处理表单提交的数据,并将其存储到数据库中:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "feedback_system";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$sql = "INSERT INTO feedback (name, email, message) VALUES ('$name', '$email', '$message')";

if ($conn->query($sql) === TRUE) {
    echo "感谢您的反馈!";
} else {
    echo "错误: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

3. 管理员查看反馈

创建admin.php,用于管理员登录后查看所有用户反馈:


<?php
session_start();

if (!isset($_SESSION['admin'])) {
    header("Location: login.php");
    exit();
}

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "feedback_system";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$sql = "SELECT id, name, email, message, submitted_at FROM feedback";
$result = $conn->query($sql);
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>管理反馈</title>
</head>
<body>
    <h1>用户反馈列表</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>邮箱</th>
            <th>反馈内容</th>
            <th>提交时间</th>
        </tr>
        <?php
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo "<tr>";
                echo "<td>" . $row["id"] . "</td>";
                echo "<td>" . $row["name"] . "</td>";
                echo "<td>" . $row["email"] . "</td>";
                echo "<td>" . $row["message"] . "</td>";

评论(0)