本文实例讲述了ci框架中cookie的操作方法。分享给大家供大家参考。具体分析如下:
第一种设置cookie的方式:采用php原生态的方法设置的cookie的值
代码如下:
setcookie(user_id,$user_info['user_id'],86500);
setcookie(username,$user_info['username'],86500);
setcookie(password,$user_info['password'],86500);
//echo $_cookie['username'];
第二种设置cookie的方式:通过ci框架的input类库设置cookie的值
代码如下:
$this->input->set_cookie(username,$user_info['username'],60);
$this->input->set_cookie(password,$user_info['password'],60);
$this->input->set_cookie(user_id,$user_info['user_id'],60);
//echo $this->input->cookie(password);//适用于控制器
//echo $this->input->cookie(username);//适用于控制器
//echo $_cookie['username'];//在模型类中可以通过这种方式获取cookie值
//echo $_cookie['password'];//在模型类中可以通过这种方式获取cookie值
第三种设置cookie的方式:通过ci框架的cookie_helper.php辅助函数库设置cookie的值
代码如下:
set_cookie(username,$user_info['username'],60);
set_cookie(password,$user_info['password'],60);
set_cookie(user_id,$user_info['user_id'],60);
//echo get_cookie(username);
例子自定义扩展核心控制器类
代码如下:
class my_controller extends ci_controller{
//构造函数:在构造函数中判断用户是否已经登陆,如果登陆,可进入后台控制器,返回跳转到登陆页面
public function __construct(){
parent::__construct();
$this->load->helper(url);
$this->load->model(user_model);//user_model模型类实例化对象
$this->cur_user=$this->user_model->is_login();//检测是否登陆,如果登陆,返回登陆用户信息,否则返回false
if($this->cur_user === false){
header(location:.site_url(index/login));
}else{
//如果已经登陆,则重新设置cookie的有效期
$this->input->set_cookie(username,$this->cur_user['username'],60);
$this->input->set_cookie(password,$this->cur_user['password'],00);
$this->input->set_cookie(user_id,$this->cur_user['user_id'],60);
}
}
}
?>
希望本文所述对大家基于ci框架的php程序设计有所帮助。