基于FLASH和WEB3D后台数据库电子商务系统设计 第12页
当客户决定结账,可以点击“结帐”按钮,系统进行客户购买商品的结算处理。结帐模块共包括两个功能模块:
1.填写定购信息功能模块
2.定单处理功能模块
5.4.1填写定购信息功能模块
1.当客户点击“结帐”按钮后,将进入填写定购信息的页面,该页面首先进行判断客户是否已经登录。如果为已经登录的注册客户,则显示定购信息表,要求客户输入收货人的姓名、送货地址、联系方式、信用卡和送货要求等信息。否则转去登录页面要求客户登录。客户在填写完定购信息表后点击下一步按钮,系统调用validate_form()函数检查输入的完整和合法性。
2.如果客户输入没有错误,系统则显示客户刚输入的定购信息表以示确认。
PHP主要功能函数代码如下:
if (isset($HTTP_POST_VARS)) {
$frm = $HTTP_POST_VARS;
/*检查客户输入的完整和合法性*/
$errormsg = validate_form($frm, $errors);
print "&errormsg=".$errormsg;
if (empty($errormsg)) {
save_orderinfo($HTTP_POST_VARS);
$qid = get_cart_items();
$template_to_show = "templates/purchase_confirmation.php";
}
/*加载客户的信息*/
} if ($info = load_orderinfo()) {
$customer = $info->customer;
$contact = $info->contact;
$address = $info->address;
$comments = $info->comments;
} else {
$user = load_userinfo();
$customer = $user->username;
$contact = $user->phone;
$address = $user->address;
}
function load_userinfo() {
global $SESSION;
$qid = db_query("SELECT 1 FROM users WHERE username = '{$SESSION["user"]["username"]}'");
return db_fetch_object($qid);
}
5.4.2定单处理功能模块
1.将客户session中的购物车对象中的数据存入数据库中。相关数据包括订单号、用户订购商品ID、商品数量、商品单价、商品总价。
PHP主要功能函数代码如下:
function create_order(&$order) {
/* 保存订购者的订购信息和购物车对象中的数据到数据表orders order_items 表中 */
global $SESSION;
/* 构建订购者的信息字符 */
$custinfo =
"Customer : $order->customer\n"
. "Contact : $order->contact\n"
. "Address : $order->address\n"
. "Credit Card: " . chop_ccnum($order->creditcard) . " expiry $order->expiry\n";
/* 保存订购者的信息到orders 表中*/
$qid = db_query("
INSERT INTO orders (
username, o_timestamp, status, custinfo, comments, amount
) VALUES (
'{$SESSION["user"]["username"]}'
,now()
,1
,'$custinfo'
,'$order->comments'
,'{$SESSION["cart"]->total}'
)");
$orderid = db_insert_id();
/*保存订购者的信息到order_items表中*/
$qid = get_cart_items();
while ($item = db_fetch_object($qid)) {
db_query("
INSERT INTO order_items (
order_id, product_id, price, qty
) VALUES (
'$orderid'
,'$item->id'
,'$item->price'
,'{$SESSION["cart"]->items["$item->id"]}'
)");
}
return $orderid;
}
3.清空客户session中的购物变量。PHP主要功能函数代码如下:
$SESSION["cart"]->init();
clear_orderinfo();
4.提示订单已经处理并显示客户的订单号和商品总价。PHP主要功能函数代码如下:
print "&orderid=".$orderid;
print "&amount=".sprintf("%.2f", $cart_total);
print "&locate=complete_order_success";
第六章 性能测试与分析
经过两个多月的努力,系统终于完成了。从整体上看,系统比较完整,基本上实现系统的最初设计目的,特别是会员注册登录、商品展示、购物车、结账模块的设计,基本上能够用于网上进行销售。当然,两个多月时间确实是太少了,所以程序还有许多不完善之处,如商务网站的后台管理部分由于时间紧迫而未能实现。另外在数据库结构设计和系统的代码方面,还需进一步的优化。