CI框架url模式及获得参数

CI框架获取post和get参数_CodeIgniter心得

 

请参考:CI文档的输入类部分:

$this->input->post()
$this->input->get()

-----------------------------------------------------------------------------------------------------------------------

本文主要介绍在CodeIgniter框架中如何获取get和post参数。
获取get数据
在PHP主流的框架中,CI中url的pathinfo传递参数是一个特殊情况,它没有使用传统pathinfo的'c/m/key/value'
这种模式,而是在URI类中封装了segment这个方法,假设uri为/index.php/welcome/index/phpjyz/5,在控制器中调用如下
echo $this->uri->segment(3);//输出phpjyz
echo $this->uri->segment(4);//输出5
echo $this->uri->segment(1);//welcome
 
值得注意的是,在控制器中使用$_GET['phpjyz']是得不到5这个值的。
 
另外,针对get参数还可以在控制的动作(方法)加参数,例如
class Welcome extends CI_Controller {
public function index($id=0, $name=''){
echo $id.$name;
}
}
上面在index方法里加了两个参数$id和$name,有默认值表示该参数可选,uri的格式如下
index.php/welcome/index/5/phpjyz
这里传入参数的顺序不能颠倒。
 
获取post数据
在CI控制其中可以直接使用PHP中的$_POST['key']来获取post数据;
 
另外CI还封装了一个Input类,里面提供post方法来获取post提交过来的数据。
$this->input->post('key');
 
 
可以使用类似如下代码获取CI的PATH_INFO模式中的参数
public function search(){
    $func_args = func_get_args();
    $func_args_key_value = array();
    if(!empty($func_args)){
        foreach ($func_args as $key=>$val){
            if($key%2==0){
                $func_args_key_value[$val] = isset($func_args[$key+1])?$func_args[$key+1]:'0';
            }
        }
    }

    $is_static = isset($func_args_key_value['is_static'])?$func_args_key_value['is_static']:'0';
    $product_name = isset($func_args_key_value['product_name'])?$func_args_key_value['product_name']:'0';
    $class_id = isset($func_args_key_value['class_id'])?intval($func_args_key_value['class_id']):0;
    $brand_id = isset($func_args_key_value['brand_id'])?intval($func_args_key_value['brand_id']):0;
    $date_count = isset($func_args_key_value['date_count'])?intval($func_args_key_value['date_count']):0;
    $page = isset($func_args_key_value['page'])?intval($func_args_key_value['page']):1;
    $order = isset($func_args_key_value['order'])?intval($func_args_key_value['order']):1;
    $is_promotion_activity = isset($func_args_key_value['is_promotion_activity'])?intval($func_args_key_value['is_promotion_activity']):0;

 

转载于:https://my.oschina.net/u/3477605/blog/3060958

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值