搬砖笔记:初识CI框架函数

2019年8月5日 天气多云转晴

今天将从加载library()方法COOKIE辅助函数anchor辅助方法表单验证类表单辅助函数 五个方面;浅显的学习ci框架。

1. $this->load->library()

提示: 这个函数是用来加载核心类。详情参考

	$this->load->library( 'className', 'config', 'myClassName');
	第一个参数:欲加载的类
	第二个参数:可选,作用是允许你有选择性地传递配置参数。
	第三个参数:可选,给类库分配不同的对象名。
	请注意,当第一个参数使用数组来同时载入多个类时,第三个参数将不起作用。

比如,你想用 CodeIgniter 来发送邮件,第一步就是在你的控制器里加载 email 类。

	$this->load->library('email');

一旦被加载,就可以使用该类了, 使用 $this->email->some_function()。

有目录路径:libraries/flavors/chocolate.php;如何加载这个文件呢?

	$this->load->library('flavors/chocolate');
	注意:这里说的路径是指相对于libraries目录的路径

另外,你可以同时加载多个类(库),只要按照下面的代码为load方法传入一个包含所有要载入的类名的数组即可:

	$this->load->library(array('email','table'));

2.COOKIE辅助函数

	$this->load->helper('cookie');

引入类库

	$this->load->helper('cookie');

设置cookie

	set_cookie("cookie名称",$cookie信息,times过期时间);

获取方式

	get_cookie("cookie名称");

3. anchor

它可以通过三个参数在页面组装出一个你想要的链接。

	 if ( ! function_exists('anchor'))
   {
   		/**Anchor Link
        - Creates an anchor based on the local URL.
          *
        - @param	string	the URL
        - @param	string	the link title
        - @param	mixed	any attributes
        - @return	string
          */
          function anchor($uri = '', $title = '', $attributes = '')
          {
            $title = (string) $title;
            $site_url = is_array($uri)
                ? site_url($uri)
                : (preg_match('#^(\w+:)?//#i', $uri) ? $uri : site_url($uri));

            if ($title === '')
            {
                $title = $site_url;
            }

            if ($attributes !== '')
            {
                $attributes = _stringify_attributes($attributes);
            }

            return '<a href="'.$site_url.'"'.$attributes.'>'.$title.'</a>';
         }
	}

第一个参数:根据你提供的 URL 生成一个标准的 HTML 链接。
第二个参数:链接的文本,如果留空,将使用链接本身作为文本。
第三个参数:为你希望添加到链接的属性,可以是一个字符串,也可以是个关联数组。
因为该方法为CI url_helper内置方法,所以在调用之前需要先把该辅助类引入进来

	$this->load->helper('url');

4.表单验证类

	$this->form_validation->run(); 

run() 方法只在全部成功匹配了你的规则后才会返回 TRUE

设置验证规则

$this->form_validation->set_rules();
上面的方法有 三个 参数:

  1. 表单域名 - 就是你给表单域取的那个名字。
  2. 表单域的 “人性化” 名字,它将被插入到错误信息中。例如, 如果你有一个表单域叫做 “user” ,你可能会给它一个人性化的名字叫做 “用户名” 。
  3. 为此表单域设置的验证规则。
  4. (可选的)当此表单域设置自定义的错误信息,如果没有设置该参数,将使用默认的。

5.表单辅助函数

form_open([$action = ''[, $attributes = ''[, $hidden = array()]]])
生成一个 form 起始标签,并且它的 action URL 会根据你的配置文件自动生成。 你还可以给表单添加属性和隐藏域,另外,它还会根据你配置文件中的字符集参数 自动生成 accept-charset 属性。

使用该函数来生成标签比你自己写 HTML 代码最大的好处是:当你的 URL 变动时, 它可以提供更好的可移植性。

这里是个简单的例子:

	echo form_open('email/send');

上面的代码会创建一个表单,它的 action 为根 URL 加上 “email/send”,向下面这样:

	<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send">

可以通过第二个参数传递一个关联数组来添加属性,例如:

	$attributes = array('class' => 'email', 'id' => 'myform');
	echo form_open('email/send', $attributes);	

另外,第二个参数你也可以直接使用字符串:

	echo form_open('email/send', 'class="email" id="myform"');

上面的代码会创建一个类似于下面的表单:

	<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" class="email" id="myform">

添加隐藏域

可以通过第三个参数传递一个关联数组来添加隐藏域,例如:

	$hidden = array('username' => 'Joe', 'member_id' => '234');
	echo form_open('email/send', '', $hidden);

你可以使用一个空值跳过第二个参数。上面的代码会创建一个类似于下面的表单:

	<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send">
		<input type="hidden" name="username" value="Joe" />
	    <input type="hidden" name="member_id" value="234" />

文件上传

	form_open_multipart([$action = ''[, $attributes = array()[, $hidden = array()]]])
	参数:	
			$action (string) -- Form action/target URI string
			$attributes (array) -- HTML attributes
			$hidden (array) -- An array of hidden fields' definitions
	返回:	
			An HTML multipart form opening tag
	返回类型:	
	string

这个函数和上面的 form_open() 函数完全一样, 只是它会给表单添加一个 multipart 属性,在你使用表单上传文件时必须使用它。

PHP小复习

	bool in_array  ( mixed  $needle  , array $haystack  [, bool $strict  = FALSE    ] )
	
	在 haystack 中搜索 needle,如果没有设置 strict 则使用宽松的比较。 
	
	如果第三个参数 strict 的值为 TRUE  则 in_array()  函数还会检查 needle 的类型是否和 haystack 中的相同。 
	
	返回值
		如果找到 needle 则返回 TRUE ,否则返回 FALSE 。 

新大陆

查询结果并返回

public function get_userid($username, $password)
    {
        $this->db->select('id,roleid,
        companyid,bsRoleId,adminId,adminRoleId,
        username,password, salesareaid, vendorid');
        $this->db->where('( username = \'' . $username . '\' or username = \'cms_' . $username . '\' )');
        $this->db->where('password', $password);
        $this->db->where('deleted', 0);
        $this->db->where('adminRoleId <>', 0);
        $query = $this->db->get('user');
        $data = $query->row_array();
        
		//关键在这里↓↓↓·
        return isset($data['id']) ? $data : array();
        
    }

人机验证 https://captcha.luosimao.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值