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

时间:2012-02-26 16:56:38

标签: php mysql session redirect

我遇到了使用会话锁定页面的问题,我必须这样做 如果没有登录,请将其重定向到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

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

你的代码有很多问题,或者我误解了问题_

  • 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

中没有任何内容(特别是没有换行符或空格)

答案 1 :(得分:0)

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

您不必取消设置logged_in

无论如何,如果不能解决问题,请发布session.php,我们会对此进行调查。