网站地图    收藏   

主页 > php专栏 > php会话 >

php中利用cookie实现购物车实例 - php会话

来源:自学PHP网    时间:2014-11-27 20:45 作者: 阅读:

[导读] 购物车实现方法最常用的几种方法有,cookie,session与把记录保存到数据库,下面我来介绍最简单的方法就利用cookie作为购物车的商品记录存储库...

php中利用cookie实现购物车实例

购物车实现方法最常用的几种方法有,cookie,session与把记录保存到数据库,下面我来介绍最简单的方法就利用cookie作为购物车的商品记录存储库。

PHP购物车,在互联网中有好多网店,他们是怎样实现购物车?大多的网站都用cookie来实现,偶也自己写了一个简单的实例让大家参考一下.

用cookie简单的实现购物车,数据库代码如下:

  1. – phpMyAdmin SQL Dump 
  2. – version 2.11.9.2 
  3. – 
  4. – 主机: 127.0.0.1:3306 
  5. – 生成日期: 2009 年 12 月 06 日 02:05 
  6. – 服务器版本: 5.1.28 
  7. – PHP 版本: 5.2.6 
  8. SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”; 
  9. – 
  10. – 数据库: `shopper` 
  11. – 
  12. – ——————————————————– 
  13. – 
  14. – 表的结构 `shop` 
  15. – 
  16. CREATE TABLE IF NOT EXISTS `shop` ( 
  17.   `id` int(11) NOT NULL AUTO_INCREMENT, 
  18.   `price` int(11) NOT NULL, 
  19.   `title` varchar(110) NOT NULL, 
  20.   PRIMARY KEY (`id`) 
  21. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; 
  22. – 
  23. – 导出表中的数据 `shop` 
  24. – 
  25. INSERT INTO `shop` (`id`, `price`, `title`) VALUES 
  26. (1, 100, ‘玉米’), 
  27. (2, 200, ‘大豆’), 
  28. (3, 500, ‘西瓜’), 
  29. (4, 900, ‘冬瓜’), 
  30. (5, 800, ‘大米’); 

PHP代码文件:

  1. <?php 
  2. /* 
  3. 作者:简单小屋 
  4. QQ群1:32311900(满) 
  5. QQ群2:50900416 
  6. QQ2:39407******(满)简单小屋 
  7. QQ2:8726****  海角 
  8. */ 
  9. $conn=mysql_connect(“localhost”,”root”,”"); 
  10. mysql_select_db(“shopper”,$conn); 
  11. mysql_query(“SET NAMES utf8″); 
  12. $sql=”SELECT * FROM `shop`  WHERE 1 “; 
  13. $sql2=mysql_query($sql); 
  14. if($_POST[ok]){ 
  15.   $_POST[number]=(int)$_POST[number]; 
  16.   if($_POST[number]>0){ 
  17.   $idid=$_POST[id]; 
  18.   setcookie(“cookie_arr[$idid]“,$_POST[title].”|”.$_POST[number].”|”.$_POST[price].”|”.$_POST[number]*$_POST[price],time()+36000); 
  19.   header(“location:shop.php”);  
  20.  }else
  21.  echo “输入的数量不正确.<br>”; 
  22.  } 
  23. if(isset($_COOKIE['cookie_arr'])){   
  24.      foreach($_COOKIE['cookie_arr']   as   $name   =>   $value)   { 
  25.                    $value2=explode(“|”,$value);   
  26.                   echo   “ID({$name}) — $value2[0] — 数量:$value2[1]   –  单价:$value2[2]  –  总价格:$value2[3]  <hr   />n”;   
  27.         }  
  28. ?> 
  29. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “<html xmlns=”<head> 
  30. <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 
  31. <title>无标题文档</title> 
  32. </head> 
  33. <body> 
  34. <?php 
  35. while($row=mysql_fetch_array($sql2)){ 
  36. ?> 
  37. <form action=”" method=”post”> 
  38.   <input name=”id” type=”hidden” value=”<?php echo $row[id]; ?>” /> 
  39.   <input name=”price” type=”hidden” value=”<?php echo $row[price]; ?>” /> 
  40.   <input name=”title” type=”hidden” value=”<?php echo $row[title]; ?>” /> 
  41.   id:<?php echo $row[id]; ?><br /> 
  42.   商品名:<?php echo $row[title]; ?><br /> 
  43.   价格:<?php echo $row[price]; ?><br /> 
  44.   数量: 
  45.   <input name=”number” type=”text” value=”1″ size=”5″ /> 
  46.   <input name=”ok” type=”submit”  value=”购买”/> 
  47. </form> 
  48. <hr /> 
  49. <?php 
  50. ?> 
  51. </body> 
  52. </html> 

缺点分析:cookie作为购物车很容易丢失了,如果用户清除浏览器缓存就有可能丢失cookie值哦,所以一般正常情况都是利用cookie+数据库来实例.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论