CI框架中cookie的操作方法分析

  本文实例讲述了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");

  例子自定义扩展核心控制器类

  

复制代码 代码如下:
<?php

  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程序设计有所帮助。