thinkphp中session的有关使用详解

thinkphp中session的相关使用详解
本文和大家分享的主要是thinkphp框架http://www.maiziedu.com/course/336/中session的使用,希望可以帮助大家更好地学习相关内容,一起来看看吧。
   session的作用:session可以长时间的保存数据,不丢失。
  session的常用于:
  1.登录,保存登录信息
  2.保存购物车信息
  3.保存验证码信息
  链接:http://document.thinkphp.cn/manual_3_2.html#session
  定义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的几点理解与测试
  · 同一个浏览器,同一个session名,不同的网址,保存的位置不同。销毁其中一个,另外的并没有收到影响。
  · session是保存在服务器上的,不同的网址意味着不同的服务器。销毁其中一个,其他的并没有收到影响。
  · 当你关闭浏览器的时候,session的死期也就到了。
  · 同一个网址,不同的浏览器打开都有对应的一个session。
  · 大部分的Session机制都使用进程中Cookie来保存Session_id的,关闭浏览器后这个进程也就自动消失了,进程中的Cookie自然就消失了,那么Session_id也跟着消失了,再次连接到服务器时也就无法找到原来的Session了。
· 我们可以在登陆时点击下次自动登录,比如说“记住我一周”。这就要用到我们上文提到的另一种Cookie了——硬盘中Cookie,这时Session_id将长期保存在硬盘上的Cookie中,直到失效为止。

文章来源:unix8