当前位置:首页 > 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实现发送留言

<?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过滤:

php实现发送留言

// 生成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块处理数据库异常:

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

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

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="uploa…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…