2012-08-30 39 views
1

在我的網站中,如果會話已過期或已註銷,則必須重新登錄才能進入成員區域。現在,例如,如果他們想這樣做Codeigniter - 如果未登錄,請存儲請求的網址

http://example.com/site/approve_friend_request/RaNdOmCoDe 

你被允許只完成批准朋友的要求,例如,會員區裏面。但是,如果他們還沒有登錄,他們將被重定向到(例如)

http://example.com/login_form 

我想知道的一些想法是存儲請求的URL和引導他們。有一次,他們在成功登錄。我有一些想法,但不知道最好的方法是什麼。理想情況下,我不想在url中存儲任何信息,除非它是一個好方法:

http://example.com/login_form/redirect_after_loggin/approve_friend_request/RaNdOmCoDe 

在此先感謝。

+1

將它存儲在會話中? – Laurence

回答

1

好吧,夥計們,非常感謝您的幫助。我有幾個選項,似乎像最簡單的是:

$this->session->set_userdata(array('last_url' => current_url())); 

它存儲即使我沒有登錄,登錄後停留。一旦我重定向,我把它刪除使用

$this->session->unset_userdata('last_url'); 
0

我會告訴你Facebook做的方式,不管這是一個好方法,我會讓你離開。

比方說,你想記錄後,用戶http://www.google.com重定向英寸

$redirect_url = json_encode('http://www.google.com'); 
header('Location: http://site.com/login_form?redirect_url=' . $redirect_url); 

確保URL參數REDIRECT_URL會從頁面傳遞到頁面,用戶登錄後,檢查是否設置了redirect_url,如果是:

$redirect_url = json_decode($_GET['redirect_url']); 
header('Location: $redirect_url');