
php 表单未设置 `action` 属性时,默认提交到当前 url,导致 `$_post['submit']` 始终未被触发,页面仅刷新而无法执行重定向逻辑。
在你提供的代码中,表单缺少关键的 action 属性,且 PHP 判断条件依赖于 $_POST['submit'] ——但 HTML 中的
✅ 正确做法需同时满足两个条件:
- 为表单指定 action(指向当前脚本或处理脚本);
- 确保 $_POST 中存在可检测的键名(如通过
以下是修正后的完整示例(假设所有代码位于 login.php 中):
Incorrect.'; } } ?>
⚠️ 注意事项:
立即学习“PHP免费学习笔记(深入)”;
- header() 重定向前不能有任何输出(包括空格、echo、HTML 或 BOM 字符),否则会报 “Headers already sent” 错误;建议将 PHP 处理逻辑置于 HTML 之前,或使用输出缓冲(ob_start());
- 密码明文比对('password')仅适用于学习演示,生产环境必须使用 password_hash() + password_verify() 并配合数据库存储;
- type="Submit" 应为小写 type="submit"(HTML5 标准写法,虽大小写不敏感但建议统一);
- 使用 exit() 或 die() 在 header() 后强制终止脚本,避免意外输出干扰重定向。
通过以上调整,表单即可正确提交、验证并通过 header() 跳转至 ari.html,彻底解决“点击即刷新”的问题。











