./flow.php ,购物流程

19 require(ROOT_PATH . 'includes/lib_order.php'); 购物流程函数库
22 require_once(ROOT_PATH . 'languages/' .$_CFG['lang']. '/shopping_flow.php'); 载入语言文件
28-31 默认act为购物车
38 获取flow页面动态显示内容
1819 处理默认$_REQUEST['step']
1822 $_SESSION['flow_type'] = CART_GENERAL_GOODS; 设置购物流程为普通购物流程
1825-1829
if ($_CFG['one_step_buy'] == '1')
    {
        ecs_header("Location: flow.php?step=checkout\n"); 如果设置$_CFG['one_step_buy'] == '1',直接退出,一般$_CFG['one_step_buy']设置为0
设置方法在数据库中ecs_shop_config表中
        exit;
    }
1832 $cart_goods = get_cart_goods(); 取得购物车商品,计算合计 get_cart_goods() 在./includes/lib_order.php中定义1433
//--------------------------------------------------------------------------
48 if ($_REQUEST['step'] == 'add_to_cart') 增加商品
54 $_POST['goods'] = json_str_iconv($_POST['goods']); 转码
56-64 检查商品ID和post的goods字符串,包括商品规格,id,商品数量
66 $result = array('error' => 0, 'message' => '', 'content' => '', 'goods_id' => '');初始化返回数组
69-73 检查goods
75 $goods = $json->decode($_POST['goods']); 解码
78-94 检查商品规格
97-100 一步式购物处理
111-134 添加购物商品
//---------------------------------------------------------------------------
elseif ($_REQUEST['step'] == 'link_buy') (选择付款方式,不确定)
135-145 判断商品是否在购物车中如果不存在则加入,然后重定向./flow.php
//-----------------------------------------------------------------------------
146 elseif ($_REQUEST['step'] == 'login')
153-178 处理get请求(即显示登陆页面)
184-200 if (($captcha & CAPTCHA_LOGIN) && (!($captcha & CAPTCHA_LOGIN_FAIL) || (($captcha & CAPTCHA_LOGIN_FAIL) && $_SESSION['login_fail'] > 2)) && gd_version() > 0)
$captcha 值为12,CAPTCHA_LOGIN为2 , $captcha & CAPTCHA_LOGIN值为0 ,所以不必处理验证码
202-219 登陆处理,登陆成功后更新用户信息从新计算购物车的商品价格,如果该用户购物车中有商品,跳转到结算页面,否则跳转到主页
220-222 登陆失败处理
226-250 注册处理
228 if ((intval($_CFG['captcha']) & CAPTCHA_REGISTER) && gd_version() > 0) ((intval($_CFG['captcha']) & CAPTCHA_REGISTER) 值为0 所以不必处理验证码
245-254 如果注册成功跳转到flow.php?step=consignee页面,否则提示错误
//----------------------------------------------------------------------------
267 elseif ($_REQUEST['step'] == 'consignee') 收货人信息
284-286 获取区域信息
289-298 获取同一session的收货人信息
301-307 如果session中用户id为0时获取在session中收货人信息
312-328 确定各区域选中状态
333-370 保存收货人信息,并写到$_SESSION['flow_consignee']
跳转到Location: flow.php?step=checkout
//----------------------------------------------------------------------------
371 elseif ($_REQUEST['step'] == 'drop_consignee') 删除收货人信息
//---------------------------------------------------------------------------
390 elseif ($_REQUEST['step'] == 'checkout') 定单确认
406-413 判断购物车中是否有商品
420-425 获取默认收货地址,检查session中默认收货地址和用户标识
427-435 保证收货人信息完整,并写入session
441 $cart_goods = cart_goods($flow_type); // 取得商品列表,计算合计

原文:http://hi.baidu.com/liehu1119/blog/item/6541aadd93dcbe335882dd66.html