首页 > php会话 > php中利用cookie实现购物车实例

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
/*
作者:简单小屋 
QQ群1:32311900(满) 
QQ群2:50900416 
QQ2:39407******(满)简单小屋 
QQ2:8726****  海角 
*/
$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><html xmlns="<head> 
<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+数据库来实例.


本文地址:http://www.phprm.com/huihua/fs1257.html

转载随意,但请附上文章地址:-)

标签:cookie php 实现 购物车实例

相关文章

发表留言