ecshop的session中$_SESSION['user'],

在另外一个页面取值报错,提示没有定义,是怎么回事,请教大神... 在另外一个页面取值报错,提示没有定义,是怎么回事,请教大神 展开
 我来答
ecshop开发中心
推荐于2018-05-07 · TA获得超过577个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:559万
展开全部
您看下是不是以下情况:
第一种错误:
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `test`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES ('8a3107988bf98cc9a5079fdfbe766120', '1278128679', '127.0.0.1', 'a:0:{}') ) [2] => Array ( [error] => Table 'test.ecs_sessions' doesn't exist ) [3] => Array ( [errno] => 1146 ) )

第二种错误:
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `cc`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES ('4b5c9bb5f23d7a1cebd1c1f4ad6682ee', '1270728928', '218.74.203.161', 'a:0:{}') ) [2] => Array ( [error] => The table 'ecs_sessions' is full ) [3] => Array ( [errno] => 1114 ) )
提示The table 'ecs_sessions' is full
打开ecs_sessions表发现里面的数据有好几十页(每页1000)。那怪会提示满了!但是很奇怪,为什么会存在这么多的数据在里面呢。不可能一天有这么多人在访问! 网站运行了好几个月了,没出现这种问题!这个表是ecshop模拟session存储临时信息用。分析cls_session.php文件,发现自己将session过期日期写的好大,而最近网站的访问量持续增大,造成旧的数据不能及时的清除造成的。将过期时间缩短到一定时间,这个时间根据具体情况而定了。
以上两种情况的解决办法:

1.直接清空session表
可以到后台 数据库管理-sql 查询里执行这个语句
delete from ecs_session
清理完缓存就发现不会报错了

2.同时可以设置一下session的失效时间
打开Includes下cls_session.php
修改过期时间,数值改小就可以了
var $max_life_time = 1000; // SESSION 过期时间
是是非非best
2016-05-14 · 超过55用户采纳过TA的回答
知道答主
回答量:210
采纳率:0%
帮助的人:103万
展开全部
使用$_SESSION['user_name']来取用户名
追问
还是一样的,在一个页面定义$_SESSION['user_name']='username';
在另外一个页面取值$_SESSION['user_name'],还是一样的,什么也没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式