我试图在codeigniter模型中具有登录功能,但无法在那里检索 cookie。
它返回布尔假。
我已经尝试搜索问题,其中一个问题是没有设置 cookie,但是我的 cookie 是在浏览器中的域 localhost 下设置的。我之前在另一个项目中尝试过在 localhost 上使用 cookie,没有使用 codeigniter,在其中我能够在 localhost 上检索 cookie。
这里$_COOKIE['username']
会抛出错误无效索引'用户名',$this->input->cookie('username')
会返回bool(false)
。但我可以在浏览器中看到“用户名”cookie。
设置和检索的 Cookie 位于不同的文件中。
public function checkLogin(){
$this->load->helper('cookie');
$row['user'] = $this->input->cookie('username', TRUE);
$row['handle'] = $this->input->cookie('email', TRUE);
$row['id'] = $this->input->cookie('pid', TRUE);
$row['type'] = $this->input->cookie('type', TRUE);
$row['slug'] = $this->input->cookie('slug', TRUE);
$row['cuid'] = $this->input->cookie('cuid', TRUE);
return $this->input->cookie('username', false);
}
}
我将cookies设置在不同的文件中,
setcookie("username",$user, time()+60*60*60*24*30);
setcookie("email",$handle, time()+60*60*60*24*30);
setcookie("pid",$row['id'], time()+60*60*24*30*60);
setcookie("type",$type, time()+60*60*24*30*60);
setcookie("slug",$row['slug'], time()+60*60*24*30*60);
setcookie("city",$row['city'], time()+60*60*24*60*30);
setcookie("cuid", $code, time()+60*60*24*60*30);
请询问所需的更多信息。我在控制器中使用了构造函数(两个下划线),而不是在模型中。设置 cookie 的表单不在控制器或模型中,而是在根文件夹中。我也尝试过设置cookies $this->input->set_cookie();
。