使用会话with重定向到login.php锁定页面


Locking pages with session WITH redirect to login.php

我在使用会话锁定页面时遇到问题,我必须如果没有登录,让它重定向到login.php

这是我的剧本,我试过很多,但不知怎么的,它们都不起作用

<?PHP
include("include/session.php");
?>
<?PHP
if(isset($_SESSION['logged_in'])){
   unset($_SESSION['logged_in']);
else
{
    header ("location: login.php"); 
}
?>
<?PHP
if($session->logged_in){
?>

这段代码有时确实有效,但它没有将我重定向到login.php

这是首页和锁定页面的每个子页面上的代码因此尝试访问它应该重定向到login.php

有什么建议吗?

要么你的代码有很多问题,要么我误解了这个问题_

  • if(isset($_SESSION['logged_in'])){以不平衡支架结束
  • 如果您从会话中读取日志,为什么要unset()处于状态
  • if($session->logged_in)if(isset($_SESSION['logged_in']))一样吗

不管怎样,我的建议是

  • header ("location: login.php");更改为header ("Location: login.php");,有些浏览器可能会挑剔大写字母
  • 减少混乱

<?php
include("include/session.php");
if(isset($_SESSION['logged_in']))
{
?>
<!-- whatever you wanna do -->

<?php
}
else
{
    header ("Location: login.php"); 
    exit;
}
?>

请确保include/session.php 中没有任何内容(尤其是没有换行符或空白)

确保login.php在路径中;它在同一个文件夹里吗?

您不应该取消设置logged_in

无论如何,如果这还不能解决问题,请发布完整的session.php,我们将对此进行调查。