我有一个Facebook登录系统,似乎工作正常,但如果用户登录,我想重定向到主页。这是我的页面顶部
<?php
session_start();
if(!empty($_SESSION)){
header("Location: home.php");
}
但是这会被忽略,它会运行登录脚本,好像$ _SESSION是空的,即使我在主页上打印Session数组,它总是显示它有值,加上脚本的其余部分无论如何都会分配会话值。即使我将其更改为if (empty($_SESSION))
或在其后添加else { die()}
,它也会完全忽略它。
现在,如果我使用print_r($ _ SESSION)添加任何内容来打印会话或者回显一个特定的值,即使我把它放在if语句的外面,它似乎意识到$ _SESSION有一个值并重定向。我可以把它永久地放在那里,因为它永远不会出现......但我宁愿弄明白为什么它现在不起作用。
答案 0 :(得分:4)
如果你不打断脚本,它会一直运行到最后:
<?php
session_start();
if(!empty($_SESSION)){
header("Location: home.php");
exit;
}
答案 1 :(得分:0)
您应该在die()
块中添加exit()
或if
,否则脚本的其余部分将继续执行。