当前位置: 首页 > 图文教程 > 网络编程 > PHP > 仅用PHP4 Session实现的迷你购物篮(二)

PHP
一贴学会PHP 新手入门教程
用PHP的ob_start() 控制您的浏览器cache
谈谈新手如何学习PHP 默默经典版本
黑夜路人出的几道php笔试题
一些 PHP 管理系统程序中的后门
用php获取本周,上周,本月,上月,本季度日期的代码
PHP 简单数组排序实现代码
PHP 多维数组排序实现代码
php 全局变量范围分析
php_xmlhttp 乱码问题解决方法
PHP 数组学习排序全接触
php Sql Server连接失败问题及解决办法
PHP 翻页 实例代码
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
PHP 5.3.0 安装分析心得
php 生成WML页面方法详解
php 取得瑞年与平年的天数的代码
php empty函数 使用说明
php natsort内核函数浅析
PHP 源代码分析 Zend HashTable详解

仅用PHP4 Session实现的迷你购物篮(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 268 ::
收藏到网摘: n/a

       作者:Evert Smith 翻译:limodou
  
  片段3。创建新的篮子并向其中增加一条项目
  
  <?php
  
  // 将项目计数设为1
  $ses_basket_items=1;
  
  // 填充4个数组的第0个位置,使用从href链接传过来的值
  // 链接是在‘给你的页面增加链接’部分所讲的
  $ses_basket_name[0]=$basket;
  $ses_basket_amount[0]=1;
  $ses_basket_price[0]=$price;
  $ses_basket_id[0]=$id;
  
  // 在session中注册新的篮子
  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");
  
  ?>
  
    这样将创建一个篮子,将所以的值填在数组第0个位置上,并利用session注册数组。一个篮子诞生了。
  
  
  片段4。填充篮子
  
  <?php
  
  $basket_position_counter=0; //篮子中的位置
  $double=0; //双重入口标志设为NO
  if ($ses_basket_items>0){
  // 检查是否篮子包含的项目中有双重入口
  foreach ($ses_basket_name as $basket_item){
  // 遍历数组所包含的名字,检查是否与从href所传来的相配匹
  if ($basket_item==$basket){
  // 如果在篮子中已经有了一个项目,将flag设为1
  $double=1;
  // 记住项目的位置,将进行更新
  $basket_position=$basket_position_counter;
  }
  $basket_position_counter++; //增加篮子中的实际位置
  }
  }
  
  // 更新篮子
  if ($double==1){
  // 如果项目在你的篮子中已经存在则更新在$basket_position处理的数量和位置
  $oldamount=$ses_basket_amount[$basket_position];
  $ses_basket_amount[$basket_position]++;
  $amount=$ses_basket_amount[$basket_position];
  $oldprice=$ses_basket_price[$basket_position];
  //更新价格
  $newprice=($oldprice/$oldamount)*$amount;
  $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++;
  }
  
  ?>
  
    太好了,现在你可以填充迷你购物篮并显示它了。
  
  将代码片断组织到一起
  
    让我们将代码组织到一起并且存为minibasket.inc。
  
  <?php
  
  // 记住在代码片段1中, 决定是不是要增加?
  // 让我们在这里重复它
  if ($basket!=""){
  // 在这里,项目将要加到篮中。让我们检查一下是否存在一个注册过的篮子
  if (session_is_registered("ses_basket_items")){
  // 存在一个注册过的篮子,将代码片段4放在这里。
  // 它增加项目到注册过的篮子中,检查重复记录,更新它们或在数组的最后增加项目
  } else {
  // 不存在注册过的篮子,将代码片段3放在这里。它创建一个新的篮子,并且
  // 通过session注册它。
  }
  }
  // 剩下的都是代码片段2。如果篮子中有物品时用于显示它们。
  // 加到这里。
  
  ?>
  
    瞧,不错吧。"c'est tout", 法国人会这样说。如果都做好了,你可以保存这个文件为minibasket.inc
  并且将其包括到显示商品的PHP页面中。
  
  Zip格式的minibasket.inc和basket.php
  
&n