+ -
当前位置:首页 → 问答吧 → ecshop二次开发

ecshop二次开发

时间:2011-08-31

来源:互联网

基于原版ecshop,用户类user.php,我加了个订单搜索功能,可是无法使用get提交方式。用get一提交就跳回user.php了。只能使用POST。不解为什么这样
PHP code

/* 查看订单列表 */
elseif ($action == 'order_list')
{
    include_once(ROOT_PATH . 'includes/lib_transaction.php');
    include_once(ROOT_PATH . 'includes/lib_ispass.php');
    
    $keyword = isset($_POST['keyword']) ? $_POST['keyword'] : '';
    
    $attr_in  = '';
    $attr_num = 0;
    $attr_url = '';
    $attr_arg = array();
    
    if (! strlen($keyword))
    {
        $keyword = '';
        $s_where = "";
    }
    else
    {
        $s_where = "AND consignee = '$keyword'";
    }

    $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1;

    $record_count = $db->getOne("SELECT COUNT(*) FROM " .$ecs->table('order_info'). " WHERE user_id = '$user_id' ". $s_where ."");
    
    $pager['search'] = array(
        'keywords'   => stripslashes(urlencode($_POST['keywords']))
    );
    
    $pager['search'] = array_merge($pager['search'], $attr_arg);
    
    $pager  = get_pager('user.php', $pager['search'],array('act' => $action), $record_count, $page);

    $orders = get_user_orders($user_id, $pager['size'], $pager['start'], $keyword);
    $merge  = get_user_merge($user_id);

    $smarty->assign('merge',  $merge);
    $smarty->assign('pager',  $pager);
    $smarty->assign('orders', $orders);
    $smarty->display('user_transaction.dwt');
}

//页面

  <form action="user.php?act=order_list" method="get">



这样一提交就提交到user.php上去了。并没有入到act=order_list里面去

作者: yao970953039   发布时间: 2011-08-31

<form action="user.php?act=order_list" method="get">
action是user.php,get方式获取act
$action=$_GET['act'];

if($action=='order_list'){
//操作
}

作者: hero1010   发布时间: 2011-08-31

因为ecshop默认是$_POST获取数据的,所有只有$_POST才可以获取,get方式只能通过$_GET获取。

如果想通用的话用$_REQUEST来获取,这样get或者post都可以娶到。

作者: hero1010   发布时间: 2011-08-31

原来是这样啊,谢谢了。我去试试先。

作者: yao970953039   发布时间: 2011-08-31