購物車實現方法最常用的幾種方法有,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 PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “<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+數據庫來實例。