You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP创建用户后无法正常跳转至登录页问题求助

问题根因与解决方案

根因定位

你遇到的跳转地址出现ROOT字符串的核心原因是业务代码执行时,ROOT常量还未被定义:

  • PHP在未开启严格错误模式时,遇到未定义的常量会直接将常量名作为字符串处理,所以ROOT . "login"实际被拼接成了字符串ROOTlogin
  • 浏览器识别到相对路径跳转规则,会自动把该字符串拼在当前访问路径前缀https://localhost/TEST/后,最终得到你看到的异常跳转地址。

其他影响跳转的错误代码

  1. echo header;属于无效代码:header是PHP内置的HTTP头处理函数,不是可输出的常量,这行代码会额外输出字符串header,导致header跳转触发「HTTP头已发送」的报错,直接失效。
  2. 如果$result != ""的分支先执行了div内容输出,后续即使走到else分支,header跳转也会因为已经有输出内容而失效。

修复步骤

  • 在业务代码所在文件的最顶部,引入定义ROOT常量的路由配置文件,示例:require '你的路由配置文件路径.php';,确保使用ROOT前常量已经被正确定义。
  • 删除echo header;这行无效代码,同时保证header跳转前没有任何输出(包括文件开头的空格、UTF-8 BOM头、其他echo/print输出)。
  • 临时加测试代码验证ROOT常量是否正确:在header跳转代码前加var_dump(ROOT);die;,访问页面确认输出的路径是你预期的https://localhost/TEST/后,再删除测试代码即可。

内容的提问来源于stack exchange,提问作者justRyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:54:04