zoukankan      html  css  js  c++  java
  • 网站是SESSION保持回话的,我手动删除了客户机上的所有cookie,再次访问的时候为什么还是登录状态呢?

    本人刚接触PHP不到3个月,noob一枚.....试写的网站是用SESSION保持回话的,在没有关闭浏览器的情况下, 我手动删除客户端上所有的cookie文件,然后刷新网站,发现还是帐号处于登录状态...这是怎么回事呢?

    而据我平时常用的一些网站,只要清空cookie后,都会退出登录状态...

    下面是小弟的问题代码,请大牛们不吝赐教..

    处理登录代码的页面A

    //登录成功,保持登录状态
    function login_true($username){
        session_start();
        $_SESSION['userinfo']=array('uid'=>476283675,'username'=>$username);
    }
    

    显示登录界面的页面B

    /*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空
     *则说明未登录,引导用户登录
     */
    
    session_start();
    if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){
        echo "<a href='919.html'>点我登录</a>";
        die('请先登录');
    }
    
    echo '晚上好';

    清空了cookie文件后,还是保持登录状态,请问问题出在哪儿呢?


    原因找到了,sessionID没有设置生存周期的话,那么浏览器默认关闭的时候自动清除保存sessionID的cookie,但是问题是,这个时候Cookie是保存在客户端的内存中,由浏览器维护,浏览器关闭后就消失了,所以在浏览器的cookie目录里是找不到这个保存着sessionID的cookie文件的....再加上IE11和EdGE浏览器的清除缓存机制是只清除硬盘内cookie,而不会清除内存中的cookie,所以就会出现这个情况...用chrome则没有问题

  • 相关阅读:
    在eclipse中API的封装和调用
    冒泡排序
    java中阻止类的继承
    java中数组复制的两种方式
    ssh框架搭建出现的异常: class com.my.entity.user not found while looking for property: id
    ssh框架中struts.xml 的配置参数详解
    线程的五种状态
    Sql Server 分页
    window.opener 子窗体操作父窗体
    贪心算法--汽车加油问题
  • 原文地址:https://www.cnblogs.com/jamescr7/p/7919318.html
Copyright © 2011-2022 走看看