首页 > 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>
<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/develop/55594.html

收藏随意^^请保留教程地址.

标签:foreach explode select

相关文章

发表留言