php后台维护岗位周记,工作周记 | php外包与php技术服务商

工作周记

ecshop 的购物车机制,当用户打开网站时会在session表产生一条seesion,登陆时更新这条seession。此时如果用户将商品添加至购物车,就会在 cart表中添加以session_id为Id的商品数据。而用户退出登录时系统会调用destroy_session()函数,清购物车。函数部分如 下:(cls_session.php文件中)

function destroy_session()

{.此处省略部分代码

$this->db->query(‘DELETE FROM ‘ . $GLOBALS[‘ecs’]->table(‘cart’) . ” WHERE session_id = ‘$this->session_id’“);

此处省略部分代码

所以此时退出购物车就被清空了

具体实现代码:

1.cls_session.php

function destroy_session()

{.此处省略部分代码$this->db->query(‘DELETE FROM ‘ . $GLOBALS[‘ecs’]->table(‘cart’) . ” WHERE session_id = ‘$this->session_id’ AND user_id =””);

此处省略部分代码}

2.lib.main.php

function update_user_info()

{  些处省略函数原来代码,直接跳到函数最后,加上如下代码:

$sql = “update “.$GLOBALS[‘ecs’]->table(‘cart’).” set user_id =”.$_SESSION[‘user_id’].” where session_id = ‘”.SESS_ID.”‘”;

$GLOBALS[‘db’] -> query($sql);

$sql1 = “update “.$GLOBALS[‘ecs’]->table(‘cart’).” set session_id ='”.SESS_ID.”‘ where user_id = ‘”.$_SESSION[‘user_id’].”‘”;

$GLOBALS[‘db’] -> query($sql1);

$sql2=”select distinct(c.goods_id) from”.$GLOBALS[‘ecs’]->table(‘cart’).”as c left join”

.$GLOBALS[‘ecs’]->table(‘goods’).”as g on c.goods_id=g.goods_id where g.is_on_sale =0 AND c.user_id = ‘”.$_SESSION[‘user_id’].”‘”;

$data = $GLOBALS[‘db’] -> getAll($sql2);

if($data){

foreach ($data as $k=>$v){

$sql=”delete from”.$GLOBALS[‘ecs’]->table(‘cart’).”where goods_id = ‘”.$v[‘goods_id’].”‘”;

$GLOBALS[‘db’] -> query($sql);

}}}

分隔线

在privilege.php中发现一个function clear_cart()用于清理cart中无效的数据的,难怪购物车的商品,session一过期就没有了!~

既然我们不需要定期清cart中的无效数据,这个function其实就没有用了,但我们改一下,可以用来清理己下架的商品,这样上面.lib.main.php文件中的清理下架商品的部分就可以删除了!~

修改后的function如下:

function clear_cart()

{

// 删除cart中无效的数据//$sql = “DELETE FROM ” . $GLOBALS[‘ecs’]->table(‘cart’) .//” WHERE session_id NOT ” . db_create_in($valid_sess);// $GLOBALS[‘db’]->query($sql);$sql2=”select distinct(c.goods_id) from”.$GLOBALS[‘ecs’]->table(‘cart’).”as c left join”.$GLOBALS[‘ecs’]->table(‘goods’).”as g on c.goods_id=g.goods_id where g.is_on_sale =0 AND c.extension_code=” “;//.$GLOBALS[‘ecs’]->table(‘goods’).”as g on c.goods_id=g.goods_id“;$data = $GLOBALS[‘db’] -> getAll($sql2);print_r($data);if($data){foreach ($data as $k=>$v){$sql=”delete from”.$GLOBALS[‘ecs’]->table(‘cart’).”where goods_id = ‘”.$v[‘goods_id’].”‘”;$GLOBALS[‘db’] -> query($sql);}}

}

标签:ecshop, foreach, PHP

thinkPHP开发的后台管理系统 主要针对PHP入门级程序员开发适用,主要特点集成了AUTH多对多权限管理控制, 比较细分明确了 权限控制=》权限节点 、角色=》角色权限、管理员=》角色 的管理结构。 后台布局主要应用了Layuid的简明小清新,还支持5种风格切换、全屏浏览、锁屏等炫酷功能。 相信AndPHP.admin 能让你的后台开发也能舒爽起来,另外补充一点,对于目前大多的共享后台都集成封装了如表单、 列表等主要构件方法,说是为了方便快速布置后台,当对于入门来说,学习成本也是有的,阅读性也有牺牲,仁者见仁吧, 就是想告诉大家AndPHP.admin没有这样做,主要好处,多查阅ThinkPHP5.1及Layui2.x文档根据已有文件基本就能活学应用啦!! ( 打脸了,admin2.0对于FORM\LIST进行了方法集成,但保留了1.0的部分硬编输出,你可以更好的应对,快速的开发!) //============= AndPHP内容管理系统基于ThinkPHP、结合Layui等优秀开源项目开发; 将包含系统设置,权限管理,模型管理,数据库管理,栏目管理,会员管理,网站功能,模版管理,微信管理等相关模块。 官网在线演示: http://andphp.com 测试账号:test 测试密码:123456 admin2.0纯净版发布了 ThinkPHP核心框架更新至5.1.12, 精简后台功能模块,极简方便开发者 =)基于后台管理员登录/AUTH权限管理/系统配置及后台FORM、LIST公共方法 =)基于前台用户登录/AUTH权限管理/会员中心(集成积分管理、签到等)基本用户操作属性 =) 集成一键安装,localhost/install/index.php 轻度强迫症的我对代码规范有这一定的要求,所以一定程度上做好了备注标示,目前文档整理中,有问题请进QQ群交流学习! About, AndPHP采用ThinkPHP5.15开发,ThinkPHP5.15采用全新的目录结构、架构思想,引入了 很多 的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载。 正因为ThinkPHP的 这些新特性, 从而使得ANDPHP的执行速度成倍提高。 UI方面,AndPHP采用了最受欢迎的Layui,Layui用于开发响应式布局、移动设备优先的 WEB 项目。 简洁、直观、强悍的前端开发框架,让ANDPHP后台界面更加美观,前台布局 更加爽快,开发更迅速、简单。 Tell U, 我们的目标:致力于为个人和中小型企业打造全方位的PHP企业级开发解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值