thinkphp中的session的使用和理解!

WBOY
发布: 2016-06-20 12:34:50
原创
869 人浏览过

session的作用:session可以长时间的保存数据,不丢失。

session的常用于:1.登录,保存登录信息2.保存购物车信息3.保存验证码信息

定义session常量

define('WXUSER', 'wxuser_session');define('MEMBER', 'member_session');define('MERCHANT', 'merchant_session');define('AGENT', 'agent_session');define('CART', 'cart_session');
登录后复制

给session赋值

session(MERCHANT, $user['id']);
登录后复制

根据session获取用户信息

$user = M('user')->where(array('id' => session(MERCHANT)))->find();$this->user = $user;$this->user_id = $user['id'];
登录后复制

如果session存在,直接进入主界面,否则进入登录界面

    //商户登陆    public function login() {        if (session(MERCHANT)) {            $this->redirect(U('User/Index/index'));        } else {            $this->display();        }    }
登录后复制

登出,销毁session

    //登出    public function userLogout()    {        session(null);        //session_destroy();        //unset($_SESSION);        $this->redirect(U('Home/Index/index'));    }
登录后复制

关于session的几点理解与测试

  1. 同一个浏览器,同一个session名,不同的网址,保存的位置不同。销毁其中一个,另外的并没有收到影响。

  2. session是保存在服务器上的,不同的网址意味着不同的服务器。销毁其中一个,其他的并没有收到影响。

  3. 当你关闭浏览器的时候,session的死期也就到了。

  4. 同一个网址,不同的浏览器打开都有对应的一个session。

  5. 大部分的Session机制都使用进程中Cookie来保存Session_id的,关闭浏览器后这个进程也就自动消失了,进程中的Cookie自然就消失了,那么Session_id也跟着消失了,再次连接到服务器时也就无法找到原来的Session了。

  6. 我们可以在登陆时点击下次自动登录,比如说“记住我一周”。这就要用到我们上文提到的另一种Cookie了——硬盘中Cookie,这时Session_id将长期保存在硬盘上的Cookie中,直到失效为止。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!