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中,直到失效为止。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: ThinkPHP3.2中所有的单字母方法
- 下一篇:没有了