我正在尝试在 codeigniter 模型中使用登录功能,但无法在那里检索Cookie。
它返回bool false。
我尝试过搜索问题,其中一个问题是没有设置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);
}
}
我将Cookie设置在另一个文件中,
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的表单不在控制器或模型中,而是在根文件夹中。我也尝试使用$this->input->set_cookie();
设置Cookie。
答案 0 :(得分:1)
Localhost可以根据设置cookie的文件设置路径。
明确声明路径。
setcookie("username",$user, time()+60*60*60*24*30, "/");
可以在任何地方检索带路径“/”的Cookie,否则无法检索。