请问如何控制SESSION中userinfo字段个数
发布于:2022-01-17 09:50:54
#1 vsxp
目前把用户表加得太多,使得SESSION内容也大增,请问有什么办法控制内容么?盼回,谢谢。
2010-11-11 01:28:14
#2 jake
没必要把整个用户表都记录到SESSION里面,SESSION只是会话信息,一般来说只要保存用户名和角色就行。
2010-11-11 08:50:23
#3 vsxp
嗯,现在我就是不知道怎样把需要的字段内容记录到SESSION SP默认好像是全部记录了。
2010-11-11 17:04:17
#4 jake
SESSION的使用和数组一样
$_SESSION['username'] = "用户名";
$_SESSION['roles'] = "管理员";
echo $_SESSION['username'];
echo $_SESSION['roles'];
如果不想在SESSION上面放太多东西,那么就不要对$_SESSION进行太多的赋值。
http://www.w3school.com.cn/php/php_sessions.aspSP默认没有对SESSION做处理,而用spAcl或多语言的时候,才会对session进行很小的赋值。
2010-11-11 17:06:43
#5 homexigua
user表字段少点,加个user_detail 表 一对一
2010-11-11 17:16:20
#6 vsxp
SpAclSession|s:7:"GBADMIN";userinfo|a:4:{s:3:"uid";s:1:"2";s:5:"uname";s:5:"admin";s:5:"upass";s:32:"e10adc3949ba59abbe56e057f20f883e";s:3:"acl";s:7:"GBADMIN";}
这是官方留言本自动产生的SESSION,怎么把所有的表内容都记录下来了。
我没有对$_SESSION进行赋值操作。是自动产生的。谢谢。
2010-11-11 17:26:17
#7 jake
SpAclSession|s:7:"GBADMIN";userinfo|a:4:{s:3:"uid";s:1:"2";s:5:"uname";s:5:"admin";s:5:"upass";s:32: ...
vsxp 发表于 2010-11-11 17:26 
你说的说这个例子对吧
http://speedphp.com/bbs/thread-142-1-1.html这里说明一下,上面的程序,只是
演示其中一种用户登录的方法,把用户的资料记录到SESSION里面,
SESSION是一个数组,开发者可以自己决定怎么样来用,可以把用户资料全部放进去,也可以把部分放进去。所以楼主完全可以改写上面的例子,想放多少东西到SESSION里面都可以。
2010-11-11 18:00:08
#8 vsxp
user表字段少点,加个user_detail 表 一对一
homexigua 发表于 2010-11-11 17:16 
谢谢建议,但分表不能解决根本问题。
2010-11-11 18:03:58
#9 vsxp
你说的说这个例子对吧
这里说明一下,上面的程序,只是演示其中一种用户登录的方法,把用户的资料记录到S ...
jake 发表于 2010-11-11 18:00 
哦,谢谢热情的回复。
2010-11-11 18:04:20
#10 vsxp
找到地方了。
lib_user.php中的。
$result = $this->find($conditions)
……
$_SESSION["userinfo"] = $result; // 在SESSION中记录当前用户的信息
再次感谢。
2010-11-11 18:08:01