PHP代码无响应求助:提交后data.txt未变更,代码未执行
排查你的PHP表单无响应问题
先揪出你代码里最显眼的致命问题——表单提交按钮的HTML语法彻底错了!你写的:
<input type="submit" value="Submit" <img src="">
这完全不符合HTML规范:input标签没闭合,还莫名其妙插了个<img>标签在里面,浏览器解析到这直接混乱,大概率导致表单根本没法正常触发提交动作。先把这个改成正常的提交按钮:
<input type="submit" value="Submit">
解决完这个,再排查其他可能的隐性问题:
- 文件权限不足:要确保
data.txt所在的目录有写入权限(服务器上一般给755目录权限、644文件权限),如果文件还没创建,PHP得有创建文件的权限,不然根本写不进去内容。 - 开启PHP错误提示:你现在看不到任何报错,完全摸瞎。在PHP代码最开头加上这两行,能直接显示所有错误信息,帮你定位问题:
error_reporting(E_ALL); ini_set('display_errors', 1);
比如权限不够、变量异常这类问题,都会立刻暴露出来。
- 变量名重复的小坑:你一开始把
$txt定义为文件名"data.txt",后面又把它改成了提交的内容$_POST['field1'].PHP_EOL,虽然这不会直接导致代码不执行,但很容易混淆出错,建议换个变量名,比如把内容变量改成$content,代码更清晰:
<?php $txtFile = "data.txt"; if (isset($_POST['field1'])){ $fh = fopen($txtFile, 'a'); $content = $_POST['field1'].PHP_EOL; fwrite($fh,$content); fclose($fh); $strrop="Application Submitted."; echo $strrop; }; ?>
先把提交按钮的语法错误修好,再按上面的步骤排查,应该就能解决你的诡异问题了。
内容的提问来源于stack exchange,提问作者liltraphard Quinn
相关产品推荐
相关产品推荐

