php 购物车程序
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-27 13:49:42 浏览: 评论:0
这是自己开发用到的一个简单的购物车功能的php代码,用了几个文件没用数据库就实现了购物车这样做如果用户关了浏览器,购物车里的商品就会全部丢失哦,有需要的朋友可以改进一下,利用数据库+session +cookie来实现会很好一些。
- <?php
- class Shopcar
- {
- //商品列表
- public $productList=array();
- /**
- *
- * @param unknown_type $product 传进来的商品
- * @return true 购物车里面没有该商品
- */
- public function checkProduct($product)
- {
- for($i=0;$i<count($this->productList);$i++ )
- {
- if($this->productList[$i]['name']==$product['name'])
- return $i;
- }
- return -1;
- }
- //添加到购物车
- public function add($product)
- {
- $i=$this->checkProduct($product);
- if($i==-1)
- array_push($this->productList,$product);
- else
- $this->productList[$i]['num']+=$product['num'];
- }
- //删除
- public function delete($product)
- {
- $i=$this->checkProduct($product);
- if($i!=-1)
- array_splice($this->productList,$i,1);
- }
- //返回所有的商品的信息
- public function show()
- {
- return $this->productList;
- }
- }
- html
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- <script type="text/javascript" src='jquery.min.js'></script>
- <script type="text/javascript">
- function buy(i)
- {
- var num=$(':input[name=num]')[i].value;
- var name=$('[name=name]')[i].innerHTML;
- var price=$('[name=price]')[i].innerHTML;
- alert(num+name+price);
- $.ajax({
- type:'post', //传送的方式,get/post
- url:'index.php', //发送数据的地址
- cache:'false',
- data:'num='+num+"&name="+name+"&price="+price,
- success:function(data)
- {
- alert(data);
- }
- })
- }
- </script>
- </head>
- <body>
- <table>
- <tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td><td>购买</td></tr>
- <tr><td>0</td><td><label name='name' >商品1</label></td><td><label name='price'>1</label>
- </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(0)'><u><font color='blue'>购买</font></u></a></td></tr>
- <tr><td>1</td><td><label name='name' >商品2</label></td><td><label name='price'>2</label>
- </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(1)'>购买</a></td></tr>
- <tr><td>2</td><td><label name='name' >商品3</label></td><td><label name='price'>1</label>
- </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(2)'>购买</a></td></tr>
- <tr><td>3</td><td><label name='name' >商品4</label></td><td><label name='price'>1</label>
- </td><td><input name='num' type='text' value='1' /></td><td><a onclick='buy(3)'>购买</a></td></tr>
- <tr><a href='show.php'>查看购物车</a></tr>
- </table>
- </body>
- </html>
- index.ph
- <?php
- require 'Shopcar.class.php';
- session_start();
- $name=$_POST['name'];
- $num=$_POST['num'];
- $price=$_POST['price'];
- $product=array('name'=>$name,'num'=>$num,'price'=>$price);
- print_r($product);
- if(isset($_SESSION['shopcar']))
- $shopcar=unserialize($_SESSION['shopcar']);
- else
- $shopcar=new Shopcar();
- $shopcar->add($product);
- $_SESSION['shopcar']=serialize($shopcar);
- show.php
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title></title>
- </head>
- <body>
- <table>
- <tr><td>商品编号</td><td>商品名称</td><td>价格</td><td>数量</td></tr>
- <?php
- require 'Shopcar.class.php';
- session_start();
- $shopcar=unserialize($_SESSION['shopcar']);
- print_r($shopcar);
- $productList=$shopcar->productList;
- foreach ($productList as $product){
- ?>
- <tr><td>1</td><td><label ><?php echo $product['name']?></label></td><td><label name='price'><?php echo $product['price']?></label>
- </td><td><input name='num' type='text' value='<?php echo $product['num']?>' /></td></tr>
- <?php }?>
- </table>
- </body>
- </html>
Tags: php 购物车
- 上一篇:php计算几分钟前发贴子
- 下一篇:php 文件下载方法
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)