thinkphp中的session的使用和理解!
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的几点理解与测试
同一个浏览器,同一个session名,不同的网址,保存的位置不同。销毁其中一个,另外的并没有收到影响。
session是保存在服务器上的,不同的网址意味着不同的服务器。销毁其中一个,其他的并没有收到影响。
当你关闭浏览器的时候,session的死期也就到了。
同一个网址,不同的浏览器打开都有对应的一个session。
大部分的Session机制都使用进程中Cookie来保存Session_id的,关闭浏览器后这个进程也就自动消失了,进程中的Cookie自然就消失了,那么Session_id也跟着消失了,再次连接到服务器时也就无法找到原来的Session了。
我们可以在登陆时点击下次自动登录,比如说“记住我一周”。这就要用到我们上文提到的另一种Cookie了——硬盘中Cookie,这时Session_id将长期保存在硬盘上的Cookie中,直到失效为止。
thinkphp中的session的使用和理解!的更多相关文章
- thinkphp中的session()方法
系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示 ...
- ThinkPHP中Session用法详解
在ThinkPHP封装了Session类,用户可以直接使用,常用的方法有: Session::set(name, value):注册 session . Session::is_set(name):检 ...
- thinkphp中session跨域问题
问题描述 <thinkphp实现短信验证注册>中,小编不止记录了短信验证码的实现方法,同时还记录了图片验证码的实现方法. 本地使用,一切正常:后端项目和前端项目都部署到服务器,一切正常:后 ...
- ECshop中的session机制理解
ECshop中的session机制理解 在网上找了发现都是来之一人之手,也没有用自己的话去解释,这里我就抛砖引玉,发表一下自己的意见,还希望能得到各界人士的指导批评! 此session机制不需 ...
- 理解 Web 中的Session
===================================Session 工作原理是什么?===================================因为 http 协议是无状态 ...
- thinkphp中cookie和session中操作数组的方法
thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...
- thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间) 一.总结 1.标签和原生php之间的关系:标签只是为了方便你使用,标签 ...
- thinkPHP中session()方法用法详解
本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 ? ...
- 关于ThinkPHP中Session不能夸模块/控制器使用的问题-网上的答案我做个补充
1,确保c:/windows目录下有php.ini文件2,修改php.ini中的session.auto_start = 0 为 session.auto_start = 1 //设置自动开启ses ...
随机推荐
- 分享:JAVA各种对象
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...
- angular-schema-form 自动表单生成
基本用法 通过bower安装之后,将schemaForm模块载入到模块定义中,fuse中安装第三方包需要在app/core/core.module.js中声明. 然后在controller里面,将sc ...
- 分享知识-快乐自己:Ajax 跨域请求处理
<%-- Created by IntelliJ IDEA. User: asus Date: 2019/1/24 Time: 15:57 To change this template use ...
- 不同局域网如何利用charles对app进行抓包
晚上遇到了一种尴尬的场景:电脑并没有无线网卡,电脑是通过有线连接的,但是手机连的是公共的wifi,二者并不在同一个网段 在试过很多办法无解后,终于百度出一种"曲线救国"的办法(以荣 ...
- 【Python】函数的参数对应
我们已经接触过函数(function)的参数(arguments)传递.当时我们根据位置,传递对应的参数.我们将接触更多的参数传递方式. 回忆一下位置传递: def f(a,b,c): return ...
- HTML 中 id与name 区别
一个name可以同时对应多个控件,比如checkbox和radio而id必须是全文档中唯一的 id的用途1) id是HTML元素的Identity,主要是在客户端脚本里用.2) label与form控 ...
- SPI笔记
sclk(serial clock):串行时钟 MOSI(master out slave input) (master 主机) (slave 从机) MISO(master int slave ...
- 条款21:必须返回对象的时候,不要妄想使其返回reference
//先看看下面这个例子 class Rational{ public: Rational(int num, int denu) :numirator(num), denumirator(denu); ...
- request对象和response对象,什么时候用,具体用哪一个,没有感觉
request对象和response对象,什么时候用,具体用哪一个,没有感觉
- QGrapicsScene类
概述 QgraphicsScene类为管理大量的2D图形item提供了一个管理界面,做为item的容器,它配合使用QgraphicsView使用来观察items,例如线,矩形,文本或者自定义的item ...