如何检查用户是否已登录而不使用会话

时间:2015-01-06 08:46:42

标签: php session login

我一直在浏览很多关于如何检查用户是否登录的帖子以及我发现使用会话的大多数答案(这就是我对它的理解方式:-p)

我在php文件中包含以下代码,它似乎有用:

<?php
else if ($action =="aboutUs") {
    // opens about us page either in secure or unsecured area depending on login
    session_start();    
    if(isset($_SESSION['username'])) 
    {
        echo openHTMLsecurearea();  
        echo aboutUs();
        echo closeHTML();
    } else {
        echo openHTML();
        echo aboutUs();
        echo closeHTML();
    }
}
?>

基本上,如果用户被插入,我想显示安全区域,如果没有,那么它应该打开“常规”网站。 当我第一次打开浏览器(并删除了我的历史记录)时,它的工作原理应该是(当没有插入时打开常规站点,然后在插入时保护区域)。但是,当我再次注销时,它应该再次向我显示常规站点,但事实并非如此。它仍然显示我的安全区域页面。

我认为这是因为相同的会话仍在运行,因此即使我已经关闭,用户名仍然设置。

我很确定有办法,但我无法理解。 openHTML和openHTMLsecurearea设置可能不是最好的解决方案,但是现在改变它有点太晚了,所以如果有人可以帮我解决这个问题以确保用户实际登录,那将会很棒。

非常感谢任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

首先考虑在session_start()之外的任何单个字符之前使用<?php ?> 注销代码只是<?php session_destroy ?>,并且与session_start具有相同的规则:之前没有html。
并且每个人都告诉你...... 没有会话,没有登录系统 - 或者真的没有安全感

相关问题