求购物车的实现 购物车用SESSION就可以轻松实现了,将用户要购买的商品及数量和价格保存在SESSION中,等到结帐的时候再进行数据库的操作。另,商品一般来说由一个模板建立,如有特殊情况可以特殊考虑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嘻嘻,由于自己的东西,所以提供一点点参考讯息给你吧,希望有用.我不能全贴出来,请谅解echo "<FORM ACTION=\"shop_addcart.php\" METHOD=\"POST\" style=margin-bottom:0px;margin-top:0px><INPUT TYPE=\"hidden\" NAME=\"itemid\" VALUE=\"$addtocart\" checked><INPUT TYPE=\"hidden\" Name=\"itemquantity\" Value=\"1\" size=\"2\"><INPUT TYPE=\"hidden\" NAME=\"sessions\" VALUE=\"$sessions\">";$date=date("Y:z:Y-m-d");//if (empty($checkoutonline)){echo "<a href=javascript:>".CHECKOUT_ONLINE."</a><br>";}else{//echo "<a href=$checkoutonline target=_blank>".CHECKOUT_ONLINE."</a><br>";}echo "<input type=\"hidden\" name=\"date\" value=\"$date\">";echo "<input type=\"hidden\" name=\"carid\" value=\"\"><input type=image border=0 name=Order src=images/buynow.gif alt=\"".ADDTHISITEM."\"></FORM>mysql_query("INSERT INTO shop_carts (carid,userid,usersid,itemid,itemquantity,date) VALUES('$carid','$sessions','{$session["uid"]}','$itemid','$itemquantity','$date')");Header("Location: shop_cart.php?sessions=$sessions");echo "<script language='javascript'>history.back();</script>";echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10; URL=shop_cart.php?sessions=$sessions\">";echo "<script>window.location =\"shop_cart.php?sessions=$sessions\";</script>";暂时写这么多了哈.用session的.结合会员系统和价格系统以及库存系统. 通过session传递给订单,然后写入数据库. 可以用面向对象写一个类.然后在类里面实现所有的购物功能.<?//Cart.incclass Cart{ var $s_id = array(); var $s_name = array(); var $s_price = array(); var $s_num = array(); var $s_total = array(); var $s_count; var $i; function s_rcart() //显示购物车 { $this->s_count = count($this->s_id); for($i=0;$i<$this->s_count;$i++) echo "{$this->s_id[$i]},{$this->s_name[$i]},{$this->s_price[$i]},{$this->s_num[$i]},{$this->s_total[$i]},{$this->s_count[$i]}<br/>"; } function add_cart($s_id,$s_name,$s_price,$s_num) //加入车 { $this->s_rcart(); if(!$this->in_cart($s_id)) { $this->s_id[] = $s_id; $this->s_name[] = $s_name; $this->s_price[] = $s_price; $this->s_num[] = $s_num; $this->s_total[] = $s_num*$s_price; } } function If_in_cart($s_id) //是否在车里 { for($i=0;$i<=$this->s_count;$i++) { if($this->s_id[$i]==$s_id) return true; } return false; } function in_cart_of($s_id) //在车里的id { for($i=0;$i<=$this->s_count;$i++) { if($this->s_id[$i]==$s_id) return $i; } } function in_cart($s_id) //是不是在车里,如在则在更改数量及总额 { if($this->If_in_cart($s_id)) { $i=$this->in_cart_of($s_id); $this->s_num[$i]=$this->s_num[$i]+1; $this->s_total[$i]=$this->s_num[$i]*$this->s_price[$i]; return true; } return false; } function edit_cart($s_id,$s_name,$s_price,$s_num) //修改 { $this->s_rcart(); $i=$this->in_cart_of($s_id); $this->s_id[$i] = $s_id; $this->s_name[$i] = $s_name; $this->s_price[$i] = $s_price; $this->s_num[$i] = $s_num; $this->s_total[$i] = $s_num*$s_price; $this->s_update(); } function s_remove($s_id) //删除某物 { $this->s_rcart(); for($i=0;$i<=$this->s_count;$i++) { if($this->s_id[$i]==$s_id) { unset($this->s_id[$i]); unset($this->s_name[$i]); unset($this->s_price[$i]); unset($this->s_num[$i]); unset($this->s_total[$i]); } } $this->s_update(); } function s_reset() //清空 { unset($this->s_id); unset($this->s_name); unset($this->s_price); unset($this->s_num); unset($this->s_total); unset($_SESSION['s_id']); unset($_SESSION['s_name']); unset($_SESSION['s_price']); unset($_SESSION['s_num']); unset($_SESSION['s_total']); } }/*************************************************************调用*/session_start();if(!isset($_SESSION['cart'])) $_SESSION['cart'] = new Cart;$cart =& $_SESSION['cart'];$s_id = "002";$s_name = "test2";$s_price = 10;$s_num = 1;$cart->add_cart($s_id,$s_name,$s_price,$s_num);print_r($cart);?> 求php正则匹配3个字符相同的输出yes php报错 不知道是不是配置文件问题 php邮件发送附件问题 关于load data local infile 的问题 php登陆问题 那位大虾帮下帮,谢谢了。(表单的菜单用数组实现) 查询问题 我想写一个数据库的类,这个类里面的函数的大小写有要求吗?正确写法是第一个还是第二个? 获取连接!!!!!!!!!!!!!!!!! 请用这则给下面这个替换字符 IIS经常停止是什么原因? 请教php安装问题!!
echo "<FORM ACTION=\"shop_addcart.php\" METHOD=\"POST\" style=margin-bottom:0px;margin-top:0px>
<INPUT TYPE=\"hidden\" NAME=\"itemid\" VALUE=\"$addtocart\" checked>
<INPUT TYPE=\"hidden\" Name=\"itemquantity\" Value=\"1\" size=\"2\">
<INPUT TYPE=\"hidden\" NAME=\"sessions\" VALUE=\"$sessions\">";
$date=date("Y:z:Y-m-d");
//if (empty($checkoutonline)){echo "<a href=javascript:>".CHECKOUT_ONLINE."</a><br>";}else{
//echo "<a href=$checkoutonline target=_blank>".CHECKOUT_ONLINE."</a><br>";}
echo "<input type=\"hidden\" name=\"date\" value=\"$date\">";
echo "<input type=\"hidden\" name=\"carid\" value=\"\">
<input type=image border=0 name=Order src=images/buynow.gif alt=\"".ADDTHISITEM."\">
</FORM>
mysql_query("INSERT INTO shop_carts (carid,userid,usersid,itemid,itemquantity,date) VALUES
('$carid','$sessions','{$session["uid"]}','$itemid','$itemquantity','$date')");Header("Location: shop_cart.php?sessions=$sessions");
echo "<script language='javascript'>history.back();</script>";
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10; URL=shop_cart.php?sessions=$sessions\">";
echo "<script>window.location =\"shop_cart.php?sessions=$sessions\";</script>";
暂时写这么多了哈.
用session的.结合会员系统和价格系统以及库存系统.
<?//Cart.incclass Cart
{
var $s_id = array();
var $s_name = array();
var $s_price = array();
var $s_num = array();
var $s_total = array();
var $s_count;
var $i;
function s_rcart() //显示购物车
{
$this->s_count = count($this->s_id);
for($i=0;$i<$this->s_count;$i++)
echo "{$this->s_id[$i]},{$this->s_name[$i]},{$this->s_price[$i]},{$this->s_num[$i]},{$this->s_total[$i]},{$this->s_count[$i]}<br/>";
}
function add_cart($s_id,$s_name,$s_price,$s_num) //加入车
{
$this->s_rcart();
if(!$this->in_cart($s_id))
{
$this->s_id[] = $s_id;
$this->s_name[] = $s_name;
$this->s_price[] = $s_price;
$this->s_num[] = $s_num;
$this->s_total[] = $s_num*$s_price;
}
}
function If_in_cart($s_id) //是否在车里
{
for($i=0;$i<=$this->s_count;$i++)
{
if($this->s_id[$i]==$s_id)
return true;
}
return false;
}
function in_cart_of($s_id) //在车里的id
{
for($i=0;$i<=$this->s_count;$i++)
{
if($this->s_id[$i]==$s_id)
return $i;
}
}
function in_cart($s_id) //是不是在车里,如在则在更改数量及总额
{
if($this->If_in_cart($s_id))
{
$i=$this->in_cart_of($s_id);
$this->s_num[$i]=$this->s_num[$i]+1;
$this->s_total[$i]=$this->s_num[$i]*$this->s_price[$i];
return true;
}
return false;
}
function edit_cart($s_id,$s_name,$s_price,$s_num) //修改
{
$this->s_rcart();
$i=$this->in_cart_of($s_id); $this->s_id[$i] = $s_id;
$this->s_name[$i] = $s_name;
$this->s_price[$i] = $s_price;
$this->s_num[$i] = $s_num;
$this->s_total[$i] = $s_num*$s_price; $this->s_update();
}
function s_remove($s_id) //删除某物
{
$this->s_rcart();
for($i=0;$i<=$this->s_count;$i++)
{
if($this->s_id[$i]==$s_id)
{
unset($this->s_id[$i]);
unset($this->s_name[$i]);
unset($this->s_price[$i]);
unset($this->s_num[$i]);
unset($this->s_total[$i]);
}
}
$this->s_update();
}
function s_reset() //清空
{
unset($this->s_id);
unset($this->s_name);
unset($this->s_price);
unset($this->s_num);
unset($this->s_total);
unset($_SESSION['s_id']);
unset($_SESSION['s_name']);
unset($_SESSION['s_price']);
unset($_SESSION['s_num']);
unset($_SESSION['s_total']);
}
}
/*************************************************************
调用
*/
session_start();
if(!isset($_SESSION['cart']))
$_SESSION['cart'] = new Cart;$cart =& $_SESSION['cart'];
$s_id = "002";
$s_name = "test2";
$s_price = 10;
$s_num = 1;
$cart->add_cart($s_id,$s_name,$s_price,$s_num);print_r($cart);
?>