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

PHP登录时Session已赋值但header重定向不生效问题求助

问题原因与解决方案

header跳转失效的核心原因是发送Location头后没有终止程序执行:服务器发送跳转头后依然继续输出了后续的登录页HTML内容,导致浏览器识别到响应体内存在内容,就不会执行跳转逻辑。
你的需求本身逻辑是通顺的:登录验证通过后设置SESSION登录状态,跳转当前页,跳转后的新请求检测到SESSION登录状态为true,自然会执行第24行的require_once "inc/default.php"逻辑,完全可以实现你要的「先跳转再执行引入」的效果。

修复方法

在第47行header代码后添加exit终止后续代码执行即可:

$_SESSION[ 'login' ] = 'true';
// 用户名密码正确时会执行到此处,需要跳转当前页且执行require_once "inc/default.php"
/*Line 47*/ header('Location: '.URL);
exit; // 新增这行,跳转后立即终止程序运行

其他代码风险提示

  • 代码同时混用了早已废弃的mysql_*系列函数和mysqli_*系列函数,建议全量替换为mysqli,并使用参数化查询拼接SQL语句,避免直接拼接用户输入导致的SQL注入漏洞
  • 代码第19行执行查询时,$kadi和$sifre还未完成定义,会抛出PHP Notice级错误
  • mcrypt_*加密系列函数在PHP7.1版本后已被废弃,建议替换为openssl_encrypt/openssl_decrypt实现对称加密

内容的提问来源于stack exchange,提问作者Emrah Çalışkan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 17:00:04