CI框架 输入类

1.$this->input->post()

第一个参数是所要取得的post中的数据:

$this->input->post(‘some_data‘);

如果数据不存在,方法将返回 FALSE (布尔值)。

第二个参数是可选的,如果想让取得的数据经过跨站脚本过滤(XSS Filtering),把第二个参数设为TRUE。

$this->input->post(‘some_data‘, TRUE);

不设置任何参数,该方法将以一个数组的形式返回全部POST过来的数据。

把第一个参数设置为NULL,第二个参数设置为 TRUE (boolean),该方法将经过跨站脚本过滤,返回一个包含全部POST数据的数组。

如果POST没有传递任何数据,该方法将返回 FALSE (boolean)

$this->input->post(NULL, TRUE); // 经过跨站脚本过滤 返回全部 POST 数据 $this->input->post(); // 不经过跨站脚本过滤 返回全部 POST 数据

2.$this->input->get()

此方法类似post方法,用来取得get数据,比如获取url传入的参数:

$this->input->get(‘some_data‘, TRUE);

如果没有设置参数将返回GET的数组

如果第一参数为NULL,且第二参数为True,则返回经过跨站脚本过滤(XSS Filtering)的数组。

如果没有设从GET中取到数据将返回 FALSE (boolean)

$this->input->get(NULL, TRUE); // 经过跨站脚本过滤 返回全部 GET 数据
$this->input->get(); // 不经过跨站脚本过滤 返回全部 GET 数据

3.$this->input->get_post()

这个方法将会搜索POST和GET方式的数据流,首先以POST方式搜索,然后以GET方式搜索:

$this->input->get_post(‘some_data‘, TRUE);

4.$this->input->cookie()

此方法类似post方法,用来取得cookie数据:

$this->input->cookie(‘some_data‘, TRUE);

5.$this->input->server()

此方法类似上面两个方法,用来取得server数据:

$this->input->server(‘some_data‘);

6.$this->input->set_cookie()

设置一个 Cookie 的值。这个函数接收两种形式的参数:数组形式和参数形式:

数组形式

用这种形式的话,第一个参数传递的是一个关联数组:(重要:推荐)

$cookie = array(
    ‘name‘   => ‘The Cookie Name‘,
    ‘value‘  => ‘The Value‘,
    ‘expire‘ => ‘86500‘,
    ‘domain‘ => ‘.some-domain.com‘,
    ‘path‘   => ‘/‘,
    ‘prefix‘ => ‘myprefix_‘,
    ‘secure‘ => TRUE
);

$this->input->set_cookie($cookie);

说明:

只有 name 和 value 是必须的。可以通过将 expire 设置成空来实现删除 Cookie 的操作。

Cookie 的过期时间是以为单位来设置的,他是通过将 Cookie 的存续时间值加上当前系统时间来得到的。切记,expire 的值仅仅设置为Cookie 需要存续的时间长短,请不要将当前的系统时间加上存续时间后再赋给变量。如果将 expire 设置成零,那么 Cookie 仅在浏览器关闭的时候失效。

如果需要设置全站范围内使用的cookie,无论你怎么请求都可以,那么你要把你的网站域名赋给$domain变量,并且需要以英文的句号"."开头,如: .your-domain.com

path通常是不需要设置的,该方法设置path为网站的根目录。

prefix(前缀)只有在为了避免和其它服务器上的相同命名的cookies冲突是才需要使用。

secure(安全)设置选项只有在你想把他设置成安全的cookie时,才需要把secure设置为 TRUE(boolean).

参数形式

你可以通过一个个单独的参数来设置cookies, 如果你喜欢的话:

$this->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure);

7.$this->input->ip_address()

返回当前用户的IP。如果IP地址无效,返回0.0.0.0的IP:

echo $this->input->ip_address();

8.$this->input->valid_ip($ip)

测试输入的IP地址是不是有效,返回布尔值TRUE或者FALSE。 注意:$this->input->ip_address()自动测试输入的IP地址本身格式是不是有效。

if ( ! $this->input->valid_ip($ip))
{
     echo ‘Not Valid‘;
}
else
{
     echo ‘Valid‘;
}

可以通过第二个可选参数 "IPv4" 或 "IPv6" 来指定 IP 地址格式。默认两种格式都检查。

9.$this->input->user_agent()

返回当前用户正在使用的浏览器的user agent信息。 如果不能得到数据,返回FALSE。

echo $this->input->user_agent();

10.$this->input->request_headers()

在不支持apache_request_headers()的非Apache环境非常有用。返回请求头(header)数组。

$headers = $this->input->request_headers();

11.$this->input->get_request_header();

返回请求头(request header)数组中某一个元素的值

$this->input->get_request_header(‘some-header‘, TRUE);
时间: 2024-11-06 03:52:19

CI框架 输入类的相关文章

PHP CI框架email类发送邮件

用CI框架发送邮件类 在中文标题太长的情况下会出现乱码,搜索后说是发送邮件的时候有标题长度的限制,按说的方法修改后,还是没能得到解决,后来发现需要转换邮件标题的编码,解决方法如下: 打开 libraries/Email.php  找到:function subject($subject) public function subject($subject) { $subject = $this->_prep_q_encoding($subject); $this->_set_header('Su

CI框架分页类代码

model层 public function get_content($start,$num){            $sql   = "SELECT * FROM content limit  $start,$num";//$start=>每一页第一条数据所对应的索引;$num=>对应的每一页固定显示的条数            $query = $this->db->query($sql);            return $query->res

CI框架增加条件搜索,分页

在网上找了半天,没有一个能写明白的,到的怎么使用带条件分页,我这里用简单说明实现它! 1.使用CI框架分页类,如果带搜索条件,首先要可以接收搜索内容 $cateid = $this->input->get_post('select_cate'); $searchkey = $this->input->get_post('searchkey'); $offset = $this->input->get_post('per_page'); 2.实现搜索分页代码 $this-

CI框架中,扩展验证码类。

使用CI框架的朋友,应该都知道CI框架的的验证码辅助函数,不太好用.它需要写入到数据库中,然后再进行比对. 大家在实际项目中,好像不会这样去使用,因为会对数据库造成一定的压力. 所以,我们还是利用session来临时存储验证码,比较的稳妥. 下面附上验证码类的代码.这个类是放在libraries这个库文件夹下. <?php /** * 验证码类 */ class Code{ //资源 private $img; //画布宽度 public $width = 150; //画布高度 public

CI框架中一个类中调用另一个类中已经加载对象测试

controller.php 1 <?php 2 class CI_Controller { 3 4 private static $instance; 5 6 public function __construct() 7 { 8 self::$instance =& $this; 9 10 foreach (is_loaded() as $var => $class) 11 { 12 $this->$var =& load_class($class); 13 $obj

二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)

一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入代码 五.我们打开浏览器,就可以看到CI框架的分页已经被我们替换掉了,如图: 总结: 大家可以看到,目前我自己比较好用的一个分页类在CI中可以正常使用,但是翻页之后,是用的 [ ?page=6 ]这种形式来呈现的,和CI还是不符合,我们后续改进一下分页类的写法,符合CI的规范. 原文地址:https

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

请参考:CI文档的输入类部分: $this->input->post() $this->input->get() ----------------------------------------------------------------------------------------------------------------------- 本文主要介绍在CodeIgniter框架中如何获取get和post参数. 获取get数据 在PHP主流的框架中,CI中url的pat

CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明 在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过.本文中反复出现和提及的术语包括: 前端控制器(Front Controller): 用于集中控制用户的所有请求的组件,将用户的请求发

CI框架

一.CI介绍 小巧,快速, 天下武功,无坚不破,唯快不破. Ci还是很受欢迎的. 学习CI还有一个好处,相比其他的一些php框架,更容易掌握.(源码和思想) 二.CI快速入门 1.获取与安装 直接上官网下载http://codeigniter.org.cn/ 将下载好的文件解压打网站根目录, 在页面中直接访问,输入如http://localhost/citest 看到此界面,表示安装成功.So easy! 2.定义自己的控制器和视图 在编写代码之前,要明确,我们的代码写在什么地方? 其中user