当前位置:首页 > PHP

php实现发送留言

2026-02-16 09:06:04PHP

PHP实现发送留言功能

数据库准备 创建数据库表存储留言信息,例如:

CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

HTML表单设计 创建留言表单页面(message_form.html):

<form action="submit_message.php" method="post">
    <input type="text" name="name" placeholder="姓名" required>
    <input type="email" name="email" placeholder="邮箱" required>
    <textarea name="content" placeholder="留言内容" required></textarea>
    <button type="submit">提交留言</button>
</form>

PHP处理脚本 创建处理脚本(submit_message.php):

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password');

// 获取表单数据
$name = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['content'];

// 防止SQL注入
$stmt = $db->prepare("INSERT INTO messages (name, email, content) VALUES (?, ?, ?)");
$stmt->execute([$name, $email, $content]);

// 返回成功信息
header('Location: message_form.html?status=success');
exit();
?>

数据验证增强 在PHP脚本中添加数据验证:

// 验证邮箱格式
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    die("无效的邮箱格式");
}

// 验证内容长度
if (strlen($content) < 10) {
    die("留言内容太短");
}

安全防护措施 添加CSRF防护和XSS过滤:

// 生成CSRF令牌
session_start();
if (empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32));
}

// 验证CSRF令牌
if (!hash_equals($_SESSION['token'], $_POST['token'])) {
    die("非法请求");
}

// XSS过滤
$name = htmlspecialchars($name, ENT_QUOTES);
$content = htmlspecialchars($content, ENT_QUOTES);

完整流程

  1. 用户访问message_form.html填写表单
  2. 表单提交到submit_message.php处理
  3. PHP脚本验证数据并存入数据库
  4. 返回结果给用户

错误处理 添加try-catch块处理数据库异常:

php实现发送留言

try {
    $stmt->execute([$name, $email, $content]);
} catch (PDOException $e) {
    error_log($e->getMessage());
    die("留言提交失败,请稍后再试");
}

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

相关文章

php 实现购物车

php 实现购物车

PHP 实现购物车功能 购物车功能是电子商务网站的核心部分,可以通过 PHP 和 Session 或数据库来实现。以下是两种常见的实现方式: 使用 Session 存储购物车数据 Session 是…

php实现短信验证

php实现短信验证

PHP实现短信验证的步骤 选择合适的短信服务提供商 国内常见的短信服务提供商包括阿里云短信、腾讯云短信、云片等。注册账号并获取API密钥和签名模板是第一步。这些平台通常提供详细的开发文档和SDK。…

php 实现路由

php 实现路由

PHP 实现路由的方法 在 PHP 中实现路由功能可以通过多种方式完成,以下是几种常见的实现方法: 使用原生 PHP 实现简单路由 通过解析 URL 并匹配对应的处理逻辑,可以实现基本的路由功能。以…

php实现多进程

php实现多进程

PHP 实现多进程的方法 PHP 本身是单线程的脚本语言,但可以通过扩展或系统调用来实现多进程操作。以下是几种常见的实现方式: 使用 pcntl 扩展 pcntl(Process Control)是…

php实现回复功能

php实现回复功能

实现回复功能的基本步骤 在PHP中实现回复功能通常涉及数据库操作、表单处理和前后端交互。以下是实现回复功能的关键步骤: 数据库设计 创建包含回复数据的表结构,例如: CREATE TABLE re…

php实现视频直播

php实现视频直播

PHP 实现视频直播的基本方法 PHP 本身并不直接处理视频流,但可以作为后端支持视频直播系统的搭建。以下是几种常见的实现方式: 使用第三方流媒体服务 利用现成的流媒体平台(如 Wowza、Red5…