Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向到登录,作为会话检查的一部分_Php - Fatal编程技术网

Php 重定向到登录,作为会话检查的一部分

Php 重定向到登录,作为会话检查的一部分,php,Php,就我个人而言,我无法在lock.php中使用头重定向或java重定向 我建议: if (empty($login_session)) { // You're checking for any empty/null value header("Location: login.php"); exit; // Per php docs, header does not halt execution } 您的代码有问题 检查值是否为空与检查值是否为“null”或未赋值不同 它是如何

就我个人而言,我无法在lock.php中使用头重定向或java重定向

我建议:

if (empty($login_session)) { // You're checking for any empty/null value
    header("Location: login.php");
    exit; // Per php docs, header does not halt execution
}
您的代码有问题

  • 检查值是否为空与检查值是否为“null”或未赋值不同

它是如何失败的?发生什么情况时,标题行(或脚本行)未执行?响应或PHP日志中是否有错误?服务器的实际响应是什么?当您添加更多的输出进行调试时,会发生什么?如果您打算使用mysqli扩展进行数据库访问(与更现代的PDO相反),您至少应该使用面向对象的函数。您现在使用的函数被设计为古代mysql函数的替代品,在现代代码中通常不推荐使用这些函数。除了上面的注释外,您的代码目前还可以进行SQL注入。无论您使用的是面向对象的样式还是过程样式,都应该使用查询参数将输入视为值,而不是直接将输入作为可执行代码注入。第2点是错误的,在我尝试重定向头位置后,您应该始终退出!isset(空(以上这些都会在无人登录时触发if语句。@IdontDownVote,有趣的发现--我从未意识到标头不会停止终止。我需要看看以前是如何实现它的,因为我从未遇到过问题,我会更新答案。@whaley我建议您对$\u会话进行var\u转储,以查看发生了什么ng存储,这将为您提供一个良好的起点。