www.ctrt.net > thinkphp sEssion 问题

thinkphp sEssion 问题

你这样写Session::set() 是去当前组里找SessionAction.class.php里的set方法!! 在TP里使用session 可以直接使用: $_SESSION['user']="张三";

控制器中用session("username",$_POST["name"]); 模板中用{$Think.session.username}显示 为了安全,建议控制器中使用session("username",I("name"));

这两个差别可就大了 session是结合本地cookie使用的,一般用做登录或验证码使用,当然也可以临时存储一些变量,但数量不能太多; S在tp是缓存,而且这个缓存是仅在服务器上的,常用在一些不适合频繁调用的地方,比如微信开发时候获取access_toke...

ThinkPHP3.0完全开发手册 19.1 Session: 支持默认情况下,初始化之后系统会自动启动session。 如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如: 'SESSION_AUTO_START' =>false

直接采用ThinkPHP\Examples\Rbac\Lib\Action\PublicAction.class.php吧。

你代码逻辑写错了,indexController 继承CommonController,的话, 我们访问index,检测 没有$_SESSION['uid‘] 或者 $_SESSION['username’]; 会再次重定向到login,由于indexController 继承CommonController 而 CommonController 中相当于 _ini...

session(null)是初始化session,相当于 session(array()),就是这条session还在,但是里面的信息被清空了; destroy是直接把这条数据删掉,连id什么的都不保留,是在数据库直接做了delete from table 的操作

找个地方session_start();具体在哪里,自己拿捏了哦,最好在一个公共都要调用函数里面,而且是在使用session之前

这是在别的页面调用 $uid=session(); $uid=$uid['user']['uid'];

检查一下你的缓存驱动使用的是什么?

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com