快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

一个用session实现微型购物篮的例子

采于www.phpbuilder.com,稍作补充。代码如下。嘻嘻:)
basket.php:
<?php
include ("evert.inc");
?>
<PRE>
ID    Name    Price
1     Mouse   25.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=1&price=25&basket=Mouse">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=1&price=25&basket=Mouse">subtract</A>
2     Key    100.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=2&price=100&basket=Key">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=2&price=100&basket=Key">subtract</A>
3     Car   5000.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=3&price=5000&basket=Car">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=3&price=5000&basket=Car">subtract</A>
4     Game    25.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=4&price=25&basket=Game">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=4&price=25&basket=Game">subtract</A>
</PRE>
<a href="<?echo $PHP_SELF;?>?logout=1">Logout</a>


evert.inc:
<?php
session_start();
if($logout){
session_destroy();
unset($ses_basket_name);
unset($ses_basket_amount);
unset($ses_basket_price);
unset($ses_basket_id);
unset($ses_basket_items);
}
if ($basket!=""){
                if (session_is_registered("ses_basket_items")){
                $basket_position_counter=0;
                $double=0;

                if ($ses_basket_items>0){
                   foreach ($ses_basket_name as $basket_item){
                      if ($basket_item==$basket){
                         $double=1;
                         $basket_position=$basket_position_counter;

                      }
                      $basket_position_counter++;
                   }
                }
              if ($double==1){
                $oldamount=$ses_basket_amount[$basket_position];
                if($act=="add")
                    $ses_basket_amount[$basket_position]++;
                else{
                    $ses_basket_amount[$basket_position]--;
                    if($ses_basket_amount[$basket_position]<0)
                       $ses_basket_amount[$basket_position]=0;
                    }
                 $amount=$ses_basket_amount[$basket_position];
                 $oldprice=$ses_basket_price[$basket_position];
                 $newprice=$oldamount>0?($oldprice/$oldamount)*$amount:$price;
                 $ses_basket_price[$basket_position]=$newprice;
                 }
               else{
                   $ses_basket_name[]=$basket;
                   $ses_basket_amount[]=1;
                   $ses_basket_price[]=$price;
                   $ses_basket_id[]=$id;
                   $ses_basket_items++;
                   }
        }else{
                $ses_basket_items=1;
                $ses_basket_name[0]=$basket;
                $ses_basket_amount[0]=1;
                $ses_basket_price[0]=$price;
                $ses_basket_id[0]=$id;
                session_register("ses_basket_items");
                session_register("ses_basket_name");
                session_register("ses_basket_amount");
                session_register("ses_basket_price");
                session_register("ses_basket_id");
        }
}

if ($ses_basket_items>0){
   for ($basket_counter=0;$basket_counter<$ses_basket_items;$basket_counter++){
      $price=sprintf("%01.2f",$ses_basket_price[$basket_counter]);
      $amount=$ses_basket_amount[$basket_counter];
      $name=$ses_basket_name[$basket_counter];
      if($amount>0){
        echo "$amount $name $price";
        echo "<BR>/n";
      }
   }
} else {
        $ses_basket_items=0;
        unset($ses_basket_name);
        unset($ses_basket_amount);
        unset($ses_basket_price);
        unset($ses_basket_id);
}

?>





返回类别: 教程
上一教程: WEB追捕 PHP版 源代码
下一教程: 浅谈PHP语法(三)

您可以阅读与"一个用session实现微型购物篮的例子"相关的教程:
· 一个在PHP中利用递归实现论坛分级显示的例子(为了简朴起见,我将分页显示部分去掉了)
· 我写的一个用PHP+MYSQL轻松实现论坛里的分级+分页显示的例程!(很具体的哦!虽然效率不是最佳,却非...
· 仅用PHP4 Session实现的迷你购物篮(二)
· 仅用PHP4 Session实现的迷你购物篮(一)
· 给你一个JS实现列表连动的例子
    微笑服务 优质保证 索取样品