
HTML 表单的 action 属性指定提交目标,当用户点击“Submit”时,浏览器会向该 URL(如 insert.php)发起 POST 请求,从而触发对应 PHP 文件的执行——无需在 index.php 中手动调用或包含。
html 表单的 `action` 属性指定提交目标,当用户点击“submit”时,浏览器会向该 url(如 `insert.php`)发起 post 请求,从而触发对应 php 文件的执行——无需在 `index.php` 中手动调用或包含。
在 Web 开发中,PHP 文件之间的“调用”并不等同于编程语言中的函数调用。你观察到的现象——点击提交后 insert.php 自动运行并写入数据库——其核心机制是 HTTP 请求驱动的页面跳转与服务端脚本执行,而非 index.php 主动执行了 insert.php。
关键就在 <form></form> 标签的 action 属性:
<form action="insert.php" method="post">
-
action="insert.php"告诉浏览器:当表单提交时,将所有字段数据(name、branch、roll_no)以 HTTP POST 方式发送至当前域名下同目录的insert.php脚本; - 服务器接收到该请求后,会独立解析并执行
insert.php,此时$_POST(或$_REQUEST)中即可获取表单数据; - 整个过程不涉及
include、require或exec()等 PHP 内部调用方式,而是标准的客户端→服务端请求/响应流程。
✅ 正确理解:这不是“PHP 文件调用 PHP 文件”,而是“HTML 表单提交触发另一个 PHP 脚本执行”。
⚠️ 注意事项:
立即学习“PHP免费学习笔记(深入)”;
-
action支持相对路径(如"insert.php"、"./insert.php")、绝对路径(如"/forms/insert.php")甚至完整 URL(如"https://example.com/insert.php"),但跨域提交需注意 CORS 限制; -
insert.php中使用$_REQUEST虽能兼容 GET/POST,但推荐明确使用$_POST(因表单method="post"),提高可读性与安全性; - 当前代码存在严重 SQL 注入风险!应使用预处理语句替代字符串拼接:
$stmt = $conn->prepare("INSERT INTO student (name, branch, roll_no) VALUES (?, ?, ?)");
$stmt->bind_param("ssi", $name, $branch, $roll_no);
$stmt->execute();? 小结:index.php 与 insert.php 是两个独立的入口脚本,它们通过 HTML 表单的 action 形成逻辑协作关系。理解这一基于 HTTP 的交互模型,是掌握 PHP Web 开发的基础。



















