我試圖在codeigniter model中擁有登錄功能,但無法在那裏檢索cookie。無法在codeigniter中檢索cookie
它返回布爾假。
我嘗試過搜索問題,其中一個問題是未設置Cookie, 但我的Cookie正在瀏覽器中設置,位於域localhost下。我曾嘗試在不同的項目中使用本地主機上的cookie,而不使用codeigniter,我可以在本地主機上檢索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。
如果您嘗試使用cookie助手,您需要嘗試使用它有點不同。查看手冊http://ellislab.com/codeigniter/user-guide/helpers/cookie_helper.html – mic
你說你可以在瀏覽器中看到用戶名cookie,它是否設置了值? – Jeemusu
是的,它有正確的值集@Jeemusu –