当前位置:首页 > PHP

php实现提交留言

2026-02-16 21:08:45PHP

PHP 实现提交留言功能

创建 HTML 表单

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

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实现提交留言

<?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中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('loc…

php实现socket

php实现socket

PHP 实现 Socket 通信 PHP 可以通过 socket 扩展实现网络通信,支持 TCP/UDP 协议。以下是实现 Socket 通信的核心步骤和代码示例。 创建 TCP 服务器 //…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Ratc…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php实现登陆

php实现登陆

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