使用CodeIgniter我正在檢查是否存在一個cookie通過使用isset()函數,並根據我重定向到其他控制器。現在我的問題是我得到一個重定向循環,因爲check_logged_in函數認爲cookie不存在。解決! PHP:cookie存在,但函數沒有找到它使用isset
這裏是我的代碼:
此功能駐留在login_helper
。
function check_logged_in()
{
if(!isset($_COOKIE['uid']))
{
redirect('users/login');
return FALSE;
}
else
{
return TRUE;
}
該下一功能駐留在home
控制器並調用check_logged_in()函數,如上所述。
public function index()
{
$this->load->helper('url');
$this->load->helper('login');
$logged_in = check_logged_in();
if($logged_in === TRUE)
{
$this->load->view('templates/header');
$this->load->view('pages/home_view');
$this->load->view('pages/advanced_search_view');
$this->load->view('pages/contact_information_view');
$this->load->view('templates/footer');
}
}
下一個功能駐留在users
控制器
public function login()
{
if(isset($_COOKIE['uid']))
{
redirect(home);
}
else
{
-some unrelated code-
}
當該cookie確實存在和我運行任一home/index
函數或users/login
函數I在重定向循環結束。當cookie不存在時,我最終登錄到我的登錄頁面,因此看起來users/login
Cookie檢查正常工作,但home/index
函數沒有。
我試圖把
if(!isset($_COOKIE['uid']))
{
redirect('users/login');
}
直接在home/index
功能,但它給了同樣的問題。
您是否嘗試過echo $ _COOKIE ['uid']?它是NULL嗎?似乎這將是一個開始的好地方。 – pzkpfw
你如何設置cookie? Cookie的域名,路徑? – SubRed
當我回應時,我得到cookie的價值,在我的案例中它是'1234'。 – Dasyel