当前位置:首页 > PHP

php实现提交留言

2026-02-16 21:08:45PHP

PHP 实现提交留言功能

创建 HTML 表单

创建一个简单的 HTML 表单,用于用户输入留言内容。表单需要包含姓名、邮箱和留言内容字段,并设置 method="post" 提交到 PHP 处理页面。

<form action="submit_message.php" method="post">
    <label for="name">姓名:</label>
    <input type="text" id="name" name="name" required>

    <label for="email">邮箱:</label>
    <input type="email" id="email" name="email" required>

    <label for="message">留言内容:</label>
    <textarea id="message" name="message" required></textarea>

    <button type="submit">提交留言</button>
</form>

处理表单提交的 PHP 代码

创建一个名为 submit_message.php 的文件,用于接收表单数据并进行处理。首先验证数据,然后将留言存储到数据库或文件中。

<?php
// 检查表单是否通过 POST 方法提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 获取表单数据并转义特殊字符
    $name = htmlspecialchars($_POST["name"]);
    $email = htmlspecialchars($_POST["email"]);
    $message = htmlspecialchars($_POST["message"]);

    // 验证邮箱格式
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        die("邮箱格式不正确");
    }

    // 连接数据库(以 MySQL 为例)
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "database_name";

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

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

    // 准备 SQL 语句并绑定参数
    $stmt = $conn->prepare("INSERT INTO messages (name, email, message) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $name, $email, $message);

    // 执行 SQL 语句
    if ($stmt->execute()) {
        echo "留言提交成功";
    } else {
        echo "留言提交失败: " . $stmt->error;
    }

    // 关闭数据库连接
    $stmt->close();
    $conn->close();
}
?>

存储留言到文件

如果不使用数据库,可以将留言存储到文本文件中。

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST["name"]);
    $email = htmlspecialchars($_POST["email"]);
    $message = htmlspecialchars($_POST["message"]);

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        die("邮箱格式不正确");
    }

    // 将留言数据写入文件
    $data = "姓名: $name\n邮箱: $email\n留言: $message\n\n";
    file_put_contents("messages.txt", $data, FILE_APPEND);

    echo "留言提交成功";
}
?>

显示留言列表

创建一个页面显示所有留言,从数据库或文件中读取数据并展示。

<?php
// 从数据库读取留言
$conn = new mysqli("localhost", "username", "password", "database_name");
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}

$result = $conn->query("SELECT name, email, message FROM messages ORDER BY id DESC");

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "<div>";
        echo "<h3>" . htmlspecialchars($row["name"]) . "</h3>";
        echo "<p>" . htmlspecialchars($row["email"]) . "</p>";
        echo "<p>" . htmlspecialchars($row["message"]) . "</p>";
        echo "</div>";
    }
} else {
    echo "暂无留言";
}

$conn->close();
?>

安全注意事项

确保对用户输入进行验证和转义,防止 SQL 注入和 XSS 攻击。使用 htmlspecialchars() 函数转义输出内容,并使用预处理语句处理数据库查询。

php实现提交留言

标签: 留言php
分享给朋友:

相关文章

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form actio…

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searc…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php 实现队列

php 实现队列

PHP 实现队列的方法 PHP 可以通过多种方式实现队列功能,以下是几种常见的实现方法: 使用数组实现队列 PHP 数组可以通过 array_push 和 array_shift 函数模拟队列的先…

php实现登陆

php实现登陆

PHP 实现登录功能 创建登录表单 在 HTML 文件中创建一个登录表单,包含用户名和密码输入框,表单的 action 属性指向处理登录的 PHP 文件。 <form action="logi…

php mvc实现

php mvc实现

PHP MVC 实现步骤 模型(Model)层 模型负责数据处理和业务逻辑,通常与数据库交互。创建一个基类模型,其他具体模型继承它。 class Model { protected $db;…