三种方法实现ecshop购物车退出不清空
2016-03-29 00:00
387 查看
效果 只要IP 不变 购物车中的商品就不会消失
方法一
有人提到 相同IP 购买混淆的问题
确实会存在这样的问题
可以参考这个方法 那就是只保留登陆过用户的数据
方法二
代码修改为
经过小小的思考 终于完美解决了
方法三
找到代码
将此代码 剪切到 init.php文件末尾并修改为
方法一 只判断IP 只要IP 不相同 就可以保存 而且可以跨浏览器 缺点 可能出现冲突
方法二 不会冲突,但是只有登录会员的才可以保留
方法三 不会冲突,但是需要浏览器支持cookie,不可以垮浏览器。
转载自:http://www.9958.pw/post/ecshop_cart_clean
方法一
修改 init.php 找到 define('SESS_ID', $sess->get_session_id()); 修改为 define('SESS_ID', md5(real_ip()));
有人提到 相同IP 购买混淆的问题
确实会存在这样的问题
可以参考这个方法 那就是只保留登陆过用户的数据
方法二
代码修改为
if($_SESSION['user_id']>0){ define('SESS_ID', md5($_SESSION['user_id'])); }else{ define('SESS_ID', $sess->get_session_id()); }
经过小小的思考 终于完美解决了
方法三
找到代码
if (!defined('INIT_NO_USERS')) { /* 初始化session */ include(ROOT_PATH . 'includes/cls_session.php'); $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data')); define('SESS_ID', $sess->get_session_id()); }
将此代码 剪切到 init.php文件末尾并修改为
if (!defined('INIT_NO_USERS')) { /* 初始化session */ include(ROOT_PATH . 'includes/cls_session.php'); $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data')); //define('SESS_ID', $sess->get_session_id()); if($_COOKIE['randnumber']==""){ setcookie("randnumber",rand(0,1000),time()+86400); } define('SESS_ID', md5($_COOKIE['randnumber'].real_ip())); }
方法一 只判断IP 只要IP 不相同 就可以保存 而且可以跨浏览器 缺点 可能出现冲突
方法二 不会冲突,但是只有登录会员的才可以保留
方法三 不会冲突,但是需要浏览器支持cookie,不可以垮浏览器。
转载自:http://www.9958.pw/post/ecshop_cart_clean
相关文章推荐
- ecshop后台编辑器替换成ueditor编辑器
- ecshop 批量上传(加入自定义属性)
- ecshop实现smtp发送邮件
- ECshop 迁移到 PHP7版本时遇到的兼容性问题
- 给ECShop添加最新评论
- ecshop 2.72如何修改后台访问地址
- ECSHOP在PHP5.5及高版本上报错的解决方法
- 完整删除ecshop中获取店铺信息的API
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
- ECSHOP全版本注入0DAY
- ECSHOP全版本注入漏洞(二次注入)
- ECSHOP商品库存数量显示在网站商城首页
- ECSHOP商品分类筛选自定义价格区间
- ECSHOP购物车结算页面显示商品品牌
- ecshop 如何去掉Powered by ECShop版权
- 怎样添加ECSHOP广告位置
- ECSHOP 商品详情页 购物车页 添加购买数量加减按钮
- ECSHOP首页flash幻灯片修改为循环图片(可以自己添加jq,js效果)
- 修改后台重新登陆或超时问题 SESSION 过期时间
- ecshop自己添加的页面如何修改分页链接