PHP表单提交失败主因是未通过HTTP服务器运行,必须用http://localhost访问而非file://;需检查PHP环境、表单method/name属性、错误报告及服务器日志。

PHP 表单在 Dreamweaver 中“提交失败”,大概率不是 Dreamweaver 的问题,而是本地环境没跑 PHP,或者表单 action 指向了 .php 文件但没经 PHP 解析器执行。
为什么在 DW 里点“实时视图”或双击打开 HTML 表单,提交后页面空白/跳转 404/显示源码
Dreamweaver 本身不运行 PHP。它只是编辑器,不是服务器。当你用浏览器直接双击打开 form.html,或在 DW 实时视图里预览,浏览器是通过 file:// 协议加载的 —— 这种方式下,action="handle.php" 会被当成静态路径请求,PHP 文件不会被解析,轻则 404,重则直接下载或显示源码。
- 确认你是否启用了本地 PHP 环境(如 XAMPP、WAMP、MAMP、Docker 或 VS Code + PHP Server 插件)
- 检查浏览器地址栏:如果看到的是
file:///...,就肯定不走 PHP;必须是http://localhost/...或http://127.0.0.1/... - DW 的“在浏览器中预览”默认用系统默认浏览器打开本地文件,不会自动启动 PHP 服务 —— 需手动把项目放到
htdocs(XAMPP)或www(WAMP)目录下,再用http://localhost/your-form.html访问
表单提交后 PHP 脚本没反应,$_POST 为空或 Notice: Undefined index
常见于表单 method 写错、name 属性缺失、或 PHP 没开启错误报告掩盖了问题。
- 检查表单是否明确写了
method="post"(GET 方式要用$_GET,别混用) - 每个要提交的字段必须有
name属性,例如;id或class不参与提交 - 在 PHP 头部加上
error_reporting(E_ALL); ini_set('display_errors', '1');,看是否有语法错误或未定义索引警告 - 用
var_dump($_POST); exit;在handle.php开头快速验证是否收到数据
DW 中测试 PHP 表单时提示 “无法连接到服务器” 或 “500 Internal Server Error”
这类错误基本和 DW 无关,是 Web 服务器(Apache/Nginx)或 PHP 配置出问题。
立即学习“PHP免费学习笔记(深入)”;
-
500 错误常见原因:PHP 语法错误(比如少分号、括号不匹配)、函数名拼错(如写成$_POSST)、或开启了display_errors=Off导致静默失败;查 Apache 的error.log(XAMPP 在apache/logs/error.log)最准 - “无法连接” 可能是 Apache 没启动,或端口被占用(比如 Skype 占了 80 端口);在终端运行
netstat -ano | findstr :80(Windows)或lsof -i :80(macOS/Linux)排查 - DW 的“站点设置”里填的“服务器模型”选“PHP MySQL”只是个标记,不影响实际运行 —— 别指望它帮你启服务
真正卡住人的地方,往往不是代码写错,而是以为“保存了就能跑”,忽略了 PHP 必须经 HTTP 服务解析这一层。哪怕只改一行 echo,也得确保它走的是 http://,而不是 file://。本地调试时,多看浏览器地址栏和服务器日志,比反复改 DW 设置有用得多。











