用php结合cookie实现购物车的一些问题
我在网上得到php结合cookie实现购物车的代码,但点击shiyan.php的链接1和链接2后,不知道链接“?”后的这两组参数怎么写入zancunjia.php文件里所...
我在网上得到php结合cookie实现购物车的代码,但点击shiyan.php的链接1和链接2后,不知道链接“?”后的这两组参数怎么写入zancunjia.php文件里所设置的cookie中,以及怎么从cookie中调用出来,不知道要在zancunjia.php中再添加什么代码。shiyan.php和zancunjia.php的代码分别如下所示:
shiyan.php中的代码——【
<a href="zancunjia.php?a1=YF0001&b1=500&c1=8888&d1=YF0001.html ">链接1</a><br/>
<a href="zancunjia.php?a2=YF0002&b2=600&c2=9999&d2=YF0002.html">链接2</a><br/>
】
zancunjia.php中的代码——【
<?php
class CookieCart
{
public $cookieName='MycookeCart';
//获取购物车信息
function getcart()
{
$cur_cart_array = unserialize(stripslashes($_COOKIE[$this->cookieName]));
return $cur_cart_array;
echo $cur_cart_array;
}
//加入购物车
function addcart($goods_id,$goods_num)
{
$cur_cart_array = unserialize(stripslashes($_COOKIE[$this->cookieName]));
if($cur_cart_array=="")
{
$cart_info[0][] = $goods_id;
$cart_info[0][] = $goods_num;
setcookie($this->cookieName,serialize($cart_info));
}
elseif($cur_cart_array<>"")
{
//返回数组键名倒序取最大
$ar_keys = array_keys($cur_cart_array);
rsort($ar_keys);
$max_array_keyid = $ar_keys[0]+1;
//遍历当前的购物车数组
//遍历每个商品信息数组的0值,如果键值为0且货号相同则购物车存在相同货品
$is_exist = false;
foreach($cur_cart_array as $goods_current_cart)
{
foreach($goods_current_cart as $key=>$goods_current_id)
{
if($key == 0 and $goods_current_id == $goods_id)
{
$is_exist = true;
break;
}
}
}
if(!$is_exist)
{
$cur_cart_array[$max_array_keyid][] = $goods_id;
$cur_cart_array[$max_array_keyid][] = $goods_num;
setcookie($this->cookieName,serialize($cur_cart_array));
}
}
}
}
】
不好意思,想加分但没有分了,抱歉 展开
shiyan.php中的代码——【
<a href="zancunjia.php?a1=YF0001&b1=500&c1=8888&d1=YF0001.html ">链接1</a><br/>
<a href="zancunjia.php?a2=YF0002&b2=600&c2=9999&d2=YF0002.html">链接2</a><br/>
】
zancunjia.php中的代码——【
<?php
class CookieCart
{
public $cookieName='MycookeCart';
//获取购物车信息
function getcart()
{
$cur_cart_array = unserialize(stripslashes($_COOKIE[$this->cookieName]));
return $cur_cart_array;
echo $cur_cart_array;
}
//加入购物车
function addcart($goods_id,$goods_num)
{
$cur_cart_array = unserialize(stripslashes($_COOKIE[$this->cookieName]));
if($cur_cart_array=="")
{
$cart_info[0][] = $goods_id;
$cart_info[0][] = $goods_num;
setcookie($this->cookieName,serialize($cart_info));
}
elseif($cur_cart_array<>"")
{
//返回数组键名倒序取最大
$ar_keys = array_keys($cur_cart_array);
rsort($ar_keys);
$max_array_keyid = $ar_keys[0]+1;
//遍历当前的购物车数组
//遍历每个商品信息数组的0值,如果键值为0且货号相同则购物车存在相同货品
$is_exist = false;
foreach($cur_cart_array as $goods_current_cart)
{
foreach($goods_current_cart as $key=>$goods_current_id)
{
if($key == 0 and $goods_current_id == $goods_id)
{
$is_exist = true;
break;
}
}
}
if(!$is_exist)
{
$cur_cart_array[$max_array_keyid][] = $goods_id;
$cur_cart_array[$max_array_keyid][] = $goods_num;
setcookie($this->cookieName,serialize($cur_cart_array));
}
}
}
}
】
不好意思,想加分但没有分了,抱歉 展开
2个回答
展开全部
URL传递的参数可以在连接后的程序中直接使用,如:
<a href="zancunjia.php?a1=YF0001&b1=500&c1=8888&d1=YF0001.html ">链接1</a><br/>
zancunjia.php中可以用$a1来的到a1,类推……
COOKIE可以使用setcookie()函数设置!
使用已设置的COOKIE是用全局变量:$_COOKIE['***']!***是所设置的键值……
如果是购物车,我举得不应该使用cookie来保存信息,而是要用session,这样比较好一些!
<a href="zancunjia.php?a1=YF0001&b1=500&c1=8888&d1=YF0001.html ">链接1</a><br/>
zancunjia.php中可以用$a1来的到a1,类推……
COOKIE可以使用setcookie()函数设置!
使用已设置的COOKIE是用全局变量:$_COOKIE['***']!***是所设置的键值……
如果是购物车,我举得不应该使用cookie来保存信息,而是要用session,这样比较好一些!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询