我在这个代码中遇到了无限循环问题。它正在检查是否有会话变量,如果没有,我希望将它们重定向到索引页。
session_start();
if (! isset($_SESSION['foo'])) {
header('Location: /index.php');
}
exit;
我试过把 exit; 和 exit((; 和 endif; 在 if 循环之外和里面,所有这些都仍然给我无限循环的问题。此代码位于标题页中,然后在每个页面上调用该页,因此只有在未登录的情况下才能访问索引页。这就是我希望这段代码首先存在的要点。
提前感谢您的帮助。
在 if 语句中添加一些内容,以排除索引.php页面。类似的东西
if(! isset($_SESSION['foo']) && strpos($_SERVER['REQUEST_URI'], 'index.php') === false) {
header('Location: /index.php');
}
如果在索引页上进行该检查,则每当未设置会话时,它都会重定向循环。您需要确保不对索引进行此检查.php
我认为你只是缺少session_start((;
页.php :
<?php
session_start(); // this is important
if (! isset($_SESSION['foo'])) {
header('Location: /index.php');
exit;
}
?>
索引.php :
<?php
session_start(); // this is important
//stuff
$_SESSION['foo'] = 'stuff';
//other stuff
?>