这个只需要修改 includes/cls_session.php 就好了
1,找到 function cls_session(...)
在函数结尾出setcookie(...)的地方把 0 改成 time()+86400*30 ,session_id的cookie保存一个月,购物车和session都是根据这个值来获取的,如果丢失会重新生成一个,购物车的东西自然就找不到了
2,找到 function gen_session_key($session_id)
最后一句改成 return sprintf('x', crc32(ROOT_PATH . $ip . $session_id));
2.7.3已经改过了,2.7.2的要改一下,我当初改这个是因为360chrome浏览器在两种模式切换的时候,HTTP_USER_AGENT会改变,没切换一次验证session_id就不能通过,要重新生成,登录,购物车什么的都失效了
另外,我把$ip也去掉了,因为动态ip的话,同一台电脑下次访问可能ip不一样了,验证也不能通过
3,找到 function destroy_session()
把下面这段代码去掉,这是退出登录的时候,删除cookie,删除购物车的
4,修改admin/privilege.php
不如如果你设置购物车保存一个月的话,每次登录后台还是会被清除掉
function clear_cart()
{
}
这样的话应该就可以了
另外我在用的时候,偶尔发现数据库日志错误,插入session错误,生成的session_id重复了
可以做一个改进
找到 function gen_session_id(),整个改成下面的代码:
其它改选:card表添加add_time字段,lib_order.php采购商品,flow.php添加赠品 lib_transaction.php 添加订单商品到购物车 添加'add_time' => gmtime;