需已安装宝塔面板(Linux版,推荐LNMP1.8+环境),已部署支持PHP的站点(如WordPress、自定义PHP页面),并获取站点对应的数据库信息(可在宝塔「数据库」页面查看)。
在宝塔左侧功能栏点击「数据库」,找到对应站点的数据库,点击右侧「管理」按钮,进入phpMyAdmin管理页面。
在phpMyAdmin左侧列表选择目标数据库,点击顶部「新建」,按以下参数创建表,直接复制执行SQL语句即可:
```sql CREATE TABLE `form_data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `phone` varchar(20) NOT NULL, `email` varchar(50) NOT NULL, `content` text NOT NULL, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ```表说明:`id`为自增主键,`create_time`自动存储提交时间,无需手动赋值。
在站点根目录(默认路径:/www/wwwroot/你的站点域名)新建文件,命名为`process_form.php`,完整复制以下代码:
```php setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("数据库连接失败:" . $e->getMessage()); } // 获取表单数据 $name = trim($_POST['name']); $phone = trim($_POST['phone']); $email = trim($_POST['email']); $content = trim($_POST['content']); // 验证必填项 if (empty($name) || empty($phone) || empty($email)) { die("姓名、手机号、邮箱为必填项"); } // 插入数据 $stmt = $pdo->prepare("INSERT INTO form_data (name, phone, email, content) VALUES (:name, :phone, :email, :content)"); $stmt->bindParam(':name', $name); $stmt->bindParam(':phone', $phone); $stmt->bindParam(':email', $email); $stmt->bindParam(':content', $content); if ($stmt->execute()) { echo "success"; } else { echo "提交失败,请重试"; } ```
必须替换代码中的「你的站点数据库名」「你的站点数据库用户名」「你的站点数据库密码」为宝塔中记录的真实信息,宝塔本地数据库主机固定为`localhost`,无需修改。
在需展示表单的页面(如contact.html)插入以下代码,实现前端提交:
```html ```表单的`action`属性必须指向`process_form.php`的正确路径,若文件在站点子目录,需填写完整相对路径(如`/form/process_form.php`),否则会提交失败。
若站点开启「防跨站攻击」,需将`process_form.php`加入免过滤列表,避免被拦截:
1. 浏览器打开站点表单页面,填写数据后点击提交;2. 回到宝塔「数据库」→对应数据库→phpMyAdmin→`form_data`表,查看是否新增提交记录;3. 若失败,按以下排查:
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图