导读:本期聚焦于小伙伴创作的《如何在 PHP 中实现简单的留言板功能_通过 MySQL 存储用户提交内容》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在 PHP 中实现简单的留言板功能_通过 MySQL 存储用户提交内容》有用,将其分享出去将是对创作者最好的鼓励。

实现PHP简单留言板功能需要完成数据库设计、前端表单搭建、后端数据处理、数据展示四个核心环节,整个过程围绕用户提交内容的存储与读取展开,下面逐步说明具体实现方法。

如何在 PHP 中实现简单的留言板功能_通过 MySQL 存储用户提交内容

一、数据库表设计

首先需要在MySQL中创建存储留言数据的表,表结构需要包含留言的基本信息,比如留言ID、用户名称、留言内容、提交时间等,具体建表语句如下:

-- 创建留言表
CREATE TABLE `message_board` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '留言ID',
  `username` varchar(50) NOT NULL COMMENT '用户名称',
  `content` text NOT NULL COMMENT '留言内容',
  `create_time` datetime NOT NULL COMMENT '提交时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='留言板数据表';

二、前端留言提交表单

前端需要提供一个表单让用户输入名称和留言内容,表单提交到后端PHP处理文件,表单代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>简单留言板</title>
</head>
<body>
    <h3>提交留言</h3>
    <form action="submit_message.php" method="post">
        <p>
            用户名称:<input type="text" name="username" required>
        </p>
        <p>
            留言内容:<textarea name="content" rows="5" cols="30" required></textarea>
        </p>
        <p>
            <input type="submit" value="提交留言">
        </p>
    </form>
</body>
</html>

三、后端提交处理逻辑

创建submit_message.php文件处理表单提交的数据,需要先连接MySQL数据库,再获取提交的内容插入到数据表中,同时要做基础的防SQL注入处理,代码如下:

<?php
// 数据库连接配置
$host = '127.0.0.1';
$db_user = 'root';
$db_pass = 'root';
$db_name = 'test';
// 创建数据库连接
$conn = new mysqli($host, $db_user, $db_pass, $db_name);
// 检查连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败:" . $conn->connect_error);
}
// 设置字符集
$conn->set_charset('utf8mb4');

// 获取提交的数据
$username = $_POST['username'] ?? '';
$content = $_POST['content'] ?? '';

// 基础校验
if (empty($username) || empty($content)) {
    die("用户名称和留言内容不能为空");
}

// 使用预处理语句防SQL注入
$sql = "INSERT INTO message_board (username, content, create_time) VALUES (?, ?, NOW())";
$stmt = $conn->prepare($sql);
// 绑定参数,s代表字符串类型
$stmt->bind_param("ss", $username, $content);

// 执行插入操作
if ($stmt->execute()) {
    echo "留言提交成功<br>";
    echo "<a href='show_message.php'>查看所有留言</a>";
} else {
    echo "留言提交失败:" . $stmt->error;
}

// 关闭资源
$stmt->close();
$conn->close();
?>

四、留言数据展示

创建show_message.php文件查询数据库中的留言数据并展示,代码如下:

<?php
// 数据库连接配置
$host = '127.0.0.1';
$db_user = 'root';
$db_pass = 'root';
$db_name = 'test';
// 创建数据库连接
$conn = new mysqli($host, $db_user, $db_pass, $db_name);
if ($conn->connect_error) {
    die("数据库连接失败:" . $conn->connect_error);
}
$conn->set_charset('utf8mb4');

// 查询所有留言,按提交时间倒序排列
$sql = "SELECT username, content, create_time FROM message_board ORDER BY create_time DESC";
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>留言列表</title>
</head>
<body>
    <h3>所有留言</h3>
    <a href="index.html">返回提交留言</a>
    <hr>
    <?php
    if ($result->num_rows > 0) {
        // 输出每条留言
        while ($row = $result->fetch_assoc()) {
            echo "<p>用户:" . htmlspecialchars($row['username']) . "</p>";
            echo "<p>内容:" . htmlspecialchars($row['content']) . "</p>";
            echo "<p>时间:" . $row['create_time'] . "</p>";
            echo "<hr>";
        }
    } else {
        echo "暂无留言";
    }
    $conn->close();
    ?>
</body>
</html>

注意事项

  • 实际部署时需要修改数据库连接配置,使用非root权限的数据库账号,避免安全风险
  • 用户输入的内容需要使用htmlspecialchars函数转义后再输出,防止XSS攻击
  • 如果留言内容包含特殊字符,MySQL表的字符集建议使用utf8mb4,避免乱码问题

PHPMySQL留言板用户提交内容修改时间:2026-07-24 03:51:28

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。