PHP输出表单数据时出现HTTP 500错误求助
解决你的PHP 500错误问题
你的问题出在PHP代码的两个关键语法错误上,这导致服务器无法正确解析PHP脚本,返回500内部错误。我来帮你拆解并修正:
错误1:双引号嵌套冲突
你在echo语句里用了双引号包裹HTML内容,但HTML标签的属性值也用了双引号(比如type="hidden"),这会让PHP误以为字符串提前结束,直接触发语法错误。
错误2:date()函数缺少必填参数
PHP的date()函数必须传入一个格式参数(比如'Y-m-d H:i:s'),直接调用date()会抛出警告,如果服务器的错误报告级别设置较高,这种警告会引发500错误。
修正后的代码
<!doctype HTML> <html> <head> <meta charset="UTF-8"> <Title>Test</Title> <link rel="stylesheet" type="text/css" href="/CSS/default.css"> </head> <body> <?php // 改用单引号包裹外层HTML,避免双引号冲突 echo '<form> <input type="hidden" name="uid" value="Anonymous"> <input type="hidden" name="date" value="'.date('Y-m-d H:i:s').'"> <textarea name="Message"></textarea><br> <button type="submit" name="submit">Comment</button> </form>'; ?> </body> </html>
其他可选方案
如果你更习惯用双引号,也可以转义内部的双引号:
echo "<form> <input type=\"hidden\" name=\"uid\" value=\"Anonymous\"> <input type=\"hidden\" name=\"date\" value='".date('Y-m-d H:i:s')."'> <textarea name=\"Message\"></textarea><br> <button type=\"submit\" name=\"submit\">Comment</button> </form>";
或者使用HEREDOC语法,可读性更好:
<?php $currentDate = date('Y-m-d H:i:s'); echo <<<HTML <form> <input type="hidden" name="uid" value="Anonymous"> <input type="hidden" name="date" value="{$currentDate}"> <textarea name="Message"></textarea><br> <button type="submit" name="submit">Comment</button> </form> HTML; ?>
这样修改后,PHP脚本就能正常解析,页面也不会再返回500错误了。
内容的提问来源于stack exchange,提问作者Mason
相关产品推荐
相关产品推荐

