PHP出现syntax error, unexpected token "}"报错排查
语法错误定位
你遇到的syntax error, unexpected token "}"错误,直接诱因是else代码块内的header()语句末尾缺失了PHP要求的语句结束符分号;。
PHP的语法规则要求每一条独立执行语句必须以分号结尾,解析器处理到header("location: ../signup.php")这行时,没有检测到表示语句结束的分号,就会把下一行标识代码块闭合的}识别为不符合语法规则的意外标记,抛出对应错误。
修正后的代码
if (isset($_POST["submit"])) { echo "It works"; } else { // 补全语句末尾分号即可修复报错 header("location: ../signup.php"); }
初学者额外注意点
- 虽然
if块和else之间留空行不会直接触发语法错误,但不符合通用PHP编码规范,建议两者直接衔接,避免代码结构辨识度下降 - 调用
header()做页面跳转后,建议紧随其后添加exit;终止程序后续执行,避免跳转逻辑后剩余代码被意外运行引发逻辑漏洞。
内容的提问来源于stack exchange,提问作者Hunt
相关产品推荐
相关产品推荐

