CI框架中cookie的操作方法分析_PHP
第一种设置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程序设计有所帮助。