CI框架URL参数,post,get,cookie,SERVER的常规数据操作_CodeIgniter心得

访问表单数据
使用 POST、GET、COOKIE 和 SERVER 数据
CodeIgniter 提供了几个辅助方法来从 POST、GET、COOKIE 和 SERVER 数组中获取数据。 使用这些方法来获取数据而不是直接访问数组($_POST[‘something’])的最大的好处是, 这些方法会检查获取的数据是否存在,如果不存在则返回 NULL 。这使用起来将很方便, 你不再需要去检查数据是否存在。

  • 换句话说,通常你需要像下面这样做:
$something = isset($_POST['something']) ? $_POST['something'] : NULL;

  • 使用 CodeIgniter 的方法,你可以简单的写成:
$something = $this->input->post('something');

  • 主要有下面几个方法:
$this->input->post()
$this->input->get()
$this->input->cookie()
$this->input->server()

本文主要介绍在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 i d . id. id.name;
}
}
上面在index方法里加了两个参数 i d 和 id和 idname,有默认值表示该参数可选,uri的格式如下
index.php/welcome/index/5/phpjyz
这里传入参数的顺序不能颠倒。

获取post数据
在CI控制其中可以直接使用PHP中的$_POST[‘key’]来获取post数据;

另外CI还封装了一个Input类,里面提供post方法来获取post提交过来的数据。

$this->input->post('key');

GET和POST也可以混合获取

get_post($index[, $xss_clean = NULL])

该方法和 post_get() 方法一样,只是它先查找 GET 数据:

$this->input->get_post('some_data', TRUE);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值