ECSHOP的系统,我想实现点购买将代购信息加入到购物车。但目前一点立即购买就返回首页。
检查了半天还是没找出问题的所在。图与代码如下,代码很长所以分也高点。希望有心人帮解惑下。elseif ($_REQUEST['act'] == 'buy')
{
/* 查询:判断是否登录 */
if ($_SESSION['user_id'] <= 0)
{
show_message($_LANG['gb_error_login'], '', '', 'error');
} /* 查询:取得团购商品信息 */
$GetUrl = $_POST['daigou'];
$Url = file_get_contents("$GetUrl");
preg_match('|<h2 id="NewViewDetail1_h2Title" title="(.*?)">(.*?)</h2>|ims', $Url, $title);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_spanPrice\"[^>]*>([^<]*)<\/\\1>/is', $Url, $price);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_ddGameArea\"[^>]*>([^<]*)<\/\\1>/is', $Url, $area);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_HlDetail\"[^>]*>([^<]*)<\/\\1>/is', $Url, $detail);
if ($title[2])
{
show_message($title[2], '', '', 'error');
}
/* 查询:如果商品有规格则取规格商品信息 配件除外 */
if ($specs)
{
$_specs = explode(',', $specs);
$product_info = get_products_info($goods['goods_id'], $_specs);
} empty($product_info) ? $product_info = array('product_number' => 0, 'product_id' => 0) : '';
/* 查询:查询规格名称和值,不考虑价格 */
$attr_list = array();
$sql = "SELECT a.attr_name, g.attr_value " .
"FROM " . $ecs->table('goods_attr') . " AS g, " .
$ecs->table('attribute') . " AS a " .
"WHERE g.attr_id = a.attr_id " .
"AND g.goods_attr_id " . db_create_in($specs);
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$attr_list[] = $row['attr_name'] . ': ' . $row['attr_value'];
}
$goods_attr = join(chr(13) . chr(10), $attr_list); /* 更新:清空购物车中所有团购商品 */
include_once(ROOT_PATH . 'includes/lib_order.php');
clear_cart(CART_GROUP_BUY_GOODS); /* 更新:加入购物车 */
$cart = array(
'user_id' => $_SESSION['user_id'],
'session_id' => SESS_ID,
'goods_id' => $group_buy['goods_id'],
'product_id' => $product_info['product_id'],
'goods_sn' => $GetUrl,
'goods_name' => $title[2],
'et_price' => $price[2],
'goods_price' => $price[2],
'goods_number' => "1",
'goods_attr' => addslashes($goods_attr),
'goods_attr_id' => $specs,
'is_real' => "1",
'extension_code' => addslashes($goods['extension_code']),
'parent_id' => 0,
'rec_type' => CART_GROUP_BUY_GOODS,
'is_gift' => 0
);
$db->autoExecute($ecs->table('cart'), $cart, 'INSERT'); /* 更新:记录购物流程类型:团购 */
$_SESSION['flow_type'] = CART_GROUP_BUY_GOODS;
$_SESSION['extension_code'] = 'group_buy';
$_SESSION['extension_id'] = 0; /* 进入收货人页面 */
ecs_header("Location: ./flow.php?step=consignee\n");
exit;
}
检查了半天还是没找出问题的所在。图与代码如下,代码很长所以分也高点。希望有心人帮解惑下。elseif ($_REQUEST['act'] == 'buy')
{
/* 查询:判断是否登录 */
if ($_SESSION['user_id'] <= 0)
{
show_message($_LANG['gb_error_login'], '', '', 'error');
} /* 查询:取得团购商品信息 */
$GetUrl = $_POST['daigou'];
$Url = file_get_contents("$GetUrl");
preg_match('|<h2 id="NewViewDetail1_h2Title" title="(.*?)">(.*?)</h2>|ims', $Url, $title);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_spanPrice\"[^>]*>([^<]*)<\/\\1>/is', $Url, $price);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_ddGameArea\"[^>]*>([^<]*)<\/\\1>/is', $Url, $area);
preg_match('/<([a-z]+)[^i]*id=\"NewViewDetail1_HlDetail\"[^>]*>([^<]*)<\/\\1>/is', $Url, $detail);
if ($title[2])
{
show_message($title[2], '', '', 'error');
}
/* 查询:如果商品有规格则取规格商品信息 配件除外 */
if ($specs)
{
$_specs = explode(',', $specs);
$product_info = get_products_info($goods['goods_id'], $_specs);
} empty($product_info) ? $product_info = array('product_number' => 0, 'product_id' => 0) : '';
/* 查询:查询规格名称和值,不考虑价格 */
$attr_list = array();
$sql = "SELECT a.attr_name, g.attr_value " .
"FROM " . $ecs->table('goods_attr') . " AS g, " .
$ecs->table('attribute') . " AS a " .
"WHERE g.attr_id = a.attr_id " .
"AND g.goods_attr_id " . db_create_in($specs);
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$attr_list[] = $row['attr_name'] . ': ' . $row['attr_value'];
}
$goods_attr = join(chr(13) . chr(10), $attr_list); /* 更新:清空购物车中所有团购商品 */
include_once(ROOT_PATH . 'includes/lib_order.php');
clear_cart(CART_GROUP_BUY_GOODS); /* 更新:加入购物车 */
$cart = array(
'user_id' => $_SESSION['user_id'],
'session_id' => SESS_ID,
'goods_id' => $group_buy['goods_id'],
'product_id' => $product_info['product_id'],
'goods_sn' => $GetUrl,
'goods_name' => $title[2],
'et_price' => $price[2],
'goods_price' => $price[2],
'goods_number' => "1",
'goods_attr' => addslashes($goods_attr),
'goods_attr_id' => $specs,
'is_real' => "1",
'extension_code' => addslashes($goods['extension_code']),
'parent_id' => 0,
'rec_type' => CART_GROUP_BUY_GOODS,
'is_gift' => 0
);
$db->autoExecute($ecs->table('cart'), $cart, 'INSERT'); /* 更新:记录购物流程类型:团购 */
$_SESSION['flow_type'] = CART_GROUP_BUY_GOODS;
$_SESSION['extension_code'] = 'group_buy';
$_SESSION['extension_id'] = 0; /* 进入收货人页面 */
ecs_header("Location: ./flow.php?step=consignee\n");
exit;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货