关于cookie的问题 求解惑
在登录界面使用cookie,两个记录,一个islogin一个userid,结果islogin正常,userid老是出问题,请大家看下:控制器里的登录函数
function _login($userid = '')
{
set_cookie('islogin',1,3600);
set_cookie('userid',$userid,3600);
}
退出函数
function _loginout($userid = '')
{
delete_cookie('islogin');
delete_cookie('userid');
}
整个控制器只有一处设置cookie,一处删除cookie,但每次没退出userid就没了,只剩islogin 结果发现,两个set_cookie同时使用时,查看cookie文件只有第一个有记录,这是为啥??不能这样写吗?? 好吧 又发现实际是这样: 在执行登录之后,写入cookie,两个都成功,但登陆后跳转到首页的时候,cookie文件中的islogin的值还在,userid的值没有了~是什么原因呢?两者都在一起的啊~ 顺便贴出首页和构造函数,登陆后跳转首页时cookie内的userid值就没了~
class Start extends CI_Controller {
public $siteTitle = "网站标题";
public $keyWords = "关键字";
public $description = "网站描述";
public $islogin;
public $userid;
public $array_user = array();
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url', 'cookie'));
$this->islogin = get_cookie('islogin',TRUE);
if($this->islogin)
{
$this->load->model('user_model');
$this->userid = get_cookie('userid',TRUE);
$this->array_user = $this->user_model->user_get($this->userid)->row_array();
}
}
public function index()//首页
{
$viewdata['siteTitle'] = $this->siteTitle;
$viewdata['keyWords'] = $this->keyWords;
$viewdata['description'] = $this->description;
$viewdata['siteHead'] = $this->siteHead();
$viewdata['siteFoot'] = $this->siteFoot();
$vd['islogin'] = $this->islogin;
$vd['array_user'] = $this->array_user;
$viewdata['loginblock'] = $this->load->view('loginblock',$vd, true);
$this->load->view('index',$viewdata);
} 在线等啊... 我把此处改了下
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url', 'cookie'));
$this->islogin = get_cookie('islogin',TRUE);
$this->userid = get_cookie('userid',TRUE);//把原来下面注释那句放到这
if($this->islogin)
{
$this->load->model('user_model');
//$this->userid = get_cookie('userid',TRUE);
$this->array_user = $this->user_model->user_get($this->userid)->row_array();
}
}
这样的话不会出现这种情况,可是问题又来了。设置的是3600,结果几分钟后islogin的cookie记录还在,userid的又没了???哪个大神来说说到底神马情况??是不是我服务器配置出问题了??
页:
[1]