php中利用cookie实现购物车实例
      
      
                购物车实现方法最常用的几种方法有,cookie,session与把记录保存到数据库,下面我来介绍最简单的方法就利用cookie作为购物车的商品记录存储库。
PHP购物车,在互联网中有好多网店,他们是怎样实现购物车?大多的网站都用cookie来实现,偶也自己写了一个简单的实例让大家参考一下.
用cookie简单的实现购物车,数据库代码如下:
	
	- – phpMyAdmin SQL Dump 
- – version 2.11.9.2 
- – 
- – 主机: 127.0.0.1:3306 
- – 生成日期: 2009 年 12 月 06 日 02:05 
- – 服务器版本: 5.1.28 
- – PHP 版本: 5.2.6 
- SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”; 
- – 
- – 数据库: `shopper` 
- – 
- – ——————————————————– 
- – 
- – 表的结构 `shop` 
- – 
- CREATE TABLE IF NOT EXISTS `shop` ( 
-   `id` int(11) NOT NULL AUTO_INCREMENT, 
-   `price` int(11) NOT NULL, 
-   `title` varchar(110) NOT NULL, 
-   PRIMARY KEY (`id`) 
- ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; 
- – 
- – 导出表中的数据 `shop` 
- – 
- INSERT INTO `shop` (`id`, `price`, `title`) VALUES 
- (1, 100, ‘玉米’), 
- (2, 200, ‘大豆’), 
- (3, 500, ‘西瓜’), 
- (4, 900, ‘冬瓜’), 
- (5, 800, ‘大米’); 
PHP代码文件:
	
	- <?php 
-  
-  
-  
-  
-  
-  
-  
- $conn=mysql_connect(“localhost”,”root”,”"); 
- mysql_select_db(“shopper”,$conn); 
- mysql_query(“SET NAMES utf8″); 
- $sql=”SELECT * FROM `shop`  WHERE 1 “; 
- $sql2=mysql_query($sql); 
- if($_POST[ok]){ 
-   $_POST[number]=(int)$_POST[number]; 
-   if($_POST[number]>0){ 
-   $idid=$_POST[id]; 
-   setcookie(“cookie_arr[$idid]“,$_POST[title].”|”.$_POST[number].”|”.$_POST[price].”|”.$_POST[number]*$_POST[price],time()+36000); 
-   header(“location:shop.php”);  
-  }else{ 
-  echo “输入的数量不正确.<br>”; 
-  } 
- } 
- if(isset($_COOKIE['cookie_arr'])){   
-      foreach($_COOKIE['cookie_arr']   as   $name   =>   $value)   { 
-                    $value2=explode(“|”,$value);   
-                   echo   “ID({$name}) — $value2[0] — 数量:$value2[1]   –  单价:$value2[2]  –  总价格:$value2[3]  <hr   />n”;   
-         }  
- } 
- ?> 
- <!DOCTYPE html PUBLIC “- 
- <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 
- <title>无标题文档</title> 
- </head> 
- <body> 
- <?php 
- while($row=mysql_fetch_array($sql2)){ 
- ?> 
- <form action=”" method=”post”> 
-   <input name=”id” type=”hidden” value=”<?php echo $row[id]; ?>” /> 
-   <input name=”price” type=”hidden” value=”<?php echo $row[price]; ?>” /> 
-   <input name=”title” type=”hidden” value=”<?php echo $row[title]; ?>” /> 
-   id:<?php echo $row[id]; ?><br /> 
-   商品名:<?php echo $row[title]; ?><br /> 
-   价格:<?php echo $row[price]; ?><br /> 
-   数量: 
-   <input name=”number” type=”text” value=”1″ size=”5″ /> 
-   <input name=”ok” type=”submit”  value=”购买”/> 
- </form> 
- <hr /> 
- <?php 
- } 
- ?> 
- </body> 
- </html> 
缺点分析:cookie作为购物车很容易丢失了,如果用户清除浏览器缓存就有可能丢失cookie值哦,所以一般正常情况都是利用cookie+数据库来实例.