PHP网站制作之php session 购物车类
培训的第二阶段,开始了PHP语言语法结构和应用的学习。<?phpclassCart{publicfunctionCart(){if(!isset($_SESSION)){$_SESSION=array();}}/*增加商品paramint$id商品主键string$name商品称号float$price商品代价int$num购物数目*/publicfunctionaddItem($id,$name,$price,$num,$img){//假如该商品已存在则间接加其数目if(isset($_SESSION[$id])){$this->incNum($id,$num);return;}$item=array();$item=$id;$item=$name;$item=$price;$item=$num;$item=$img;$_SESSION[$id]=$item;}/*修正购物车中的商品数目int$id商品主键int$num某商品修正后的数目,即间接把某商品的数目改成$num*/publicfunctionmodNum($id,$num=1){if(!isset($_SESSION[$id])){returnfalse;}$_SESSION[$id]=$num;}/*商品数目+1*/publicfunctionincNum($id,$num=1){if(isset($_SESSION[$id])){$_SESSION[$id]+=$num;}}/*商品数目-1*/publicfunctiondecNum($id,$num=1){if(isset($_SESSION[$id])){$_SESSION[$id]-=$num;}//假如削减后,数目为0,则把这个商品删失落if($_SESSION[$id]<1){$this->delItem($id);}}/*删除商品*/publicfunctiondelItem($id){unset($_SESSION[$id]);}/*猎取单个商品*/publicfunctiongetItem($id){return$_SESSION[$id];}/*查询购物车中商品的品种*/publicfunctiongetCnt(){returncount($_SESSION);}/*查询购物车中商品的个数*/publicfunctiongetNum(){if($this->getCnt()==0){//种数为0,个数也为0return0;}$sum=0;$data=$_SESSION;foreach($dataas$item){$sum+=$item;}return$sum;}/*购物车中商品的总金额*/publicfunctiongetPrice(){//数目为0,代价为0if($this->getCnt()==0){return0;}$price=0.00;foreach($this->itemsas$item){$price+=$item*$item;}returnsprintf("%01.2f",$price);}/*清空购物车*/publicfunctionclear(){$_SESSION=array();}}刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。
页:
[1]