当前位置:首页 > 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 实现文件下载的方法 使用 header() 函数强制下载 设置正确的 HTTP 头信息,强制浏览器下载文件而不是直接打开。 $file = 'path/to/file.pdf'; if (f…

php 实现购物车

php 实现购物车

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

php 实现验证码

php 实现验证码

使用 PHP 生成验证码 验证码(CAPTCHA)用于防止自动化脚本提交表单,以下是几种常见的 PHP 实现方法。 使用 GD 库生成图片验证码 GD 库是 PHP 的图像处理扩展,可用于生成验证码…

php实现登陆

php实现登陆

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

php mvc实现

php mvc实现

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

php实现域名

php实现域名

PHP实现域名操作的方法 获取当前域名 使用$_SERVER['HTTP_HOST']可以获取当前访问的域名: $currentDomain = $_SERVER['HTTP_HOST']; ech…