2012-11-13 106 views
0

所以我在這裏用「也許另一個愚蠢的問題,」我想 所以在這裏請教如何重定向到前一頁,如果情況在某種程度上是這樣的: 我有看法:重定向到前一頁

一個。 home_view b。 about_view c。 contact_view

的話,我也有登陸認爲(現在目前後,我登錄,它會重定向我到home_view)

我想,如果我從about_view訪問login_view然後重定向功能將重定向我about_view,或者如果我從contact_view訪問login_view,然後重定向功能將我重定向到contact_view等等。如何使重定向功能到上一頁(而不是一個頁面)?也許一些技巧使用PHP?或codeigniter本身?

+0

我現在知道了,謝謝那個爽啊。所以我只需要用隱藏的輸入發佈網址。非常感謝:D –

+0

我強烈建議你觀看[codeigniter從頭開始](http://net.tutsplus.com/sessions/codeigniter-from-scratch/)視頻。它不會花很長時間,我只是通過觀看他們建立3或4個網站。 – hamza

回答

0

這很簡單,當你登錄,你登錄時只需將默認重定向設置爲about_view或contact_view。 但如果你想重定向到上一頁,你必須欺騙會話必須設置會話前:$SESSION['last_view'] = $yourlastview;。 $ yourlastview可以在about_view或contact_view或其他視圖中進行設置,當您進入login_view時,只需檢查$SESSION['last_view']並重定向到該視圖。

方面的

Jefri

-1

只是使用重定向($ _ SERVER ['HTTP_REFERER'],'刷新')

-1

This works。

$this->load->library('user_agent'); 
redirect($this->agent->referrer()); 
+0

我會給它-1的原因之一。 '$ this-> agent-> referrer()'使用$ _SERVER ['HTTP_REFERER']',這在瀏覽器中是不一致的,並且可能不可用。截至目前,跨瀏覽器的工作解決方案是追加url並將其作爲get變量進行檢索。 – itachi

+0

實際上它在瀏覽器之間並不矛盾,儘管一些瀏覽器確實有能力關閉它,我覺得有人這樣做的機會很渺茫,並且對存儲額外變量的影響更大,因爲存儲的變量超過10,000人中沒有被重定向到他們的前一頁。考慮到絕大多數人甚至不知道存在的情況,這是一個相當模糊的設置,我認爲這不值得讚揚。 –

+0

我不同意。當我開始使用HTTP_REFERER時,我發現它主要用於Chrome,在Firefox中出現次數更少,在IE中甚至更少。話雖如此,我會同意在大多數情況下,**您的代碼將工作**。我會認爲這是一個很好的答案**如果沒有其他更好的替代方案**,但是還有。附加網址。谷歌,臉譜和其他人使用這種方法。因此,我把它-1,以便將來的參考時,這個-1提供了一個有關使用此代碼的一些問題,你必須在使用它之前考慮自己的問題。 – itachi

0

您可以使用查詢字符串來解決此問題。 就像當你從關於我們頁面訪問URL調用登錄腳本一樣login.php?page = 1其中page = 1關於我們頁面類似地,你可以頁面= 2聯繫我們頁面。在登錄頁面,您可以通過查詢字符串獲取重定向頁面,可以在使用頭函數成功登錄後重定向到相應的頁面。 例如Header('Location:about.php');

+0

要列出所有可能的網頁並不是很好的想法... +當你使用Framework作爲配置項時,你應該使用它的庫和助手,在這種情況下,重定向Wawan應該使用來自uri helper的重定向('pagename')。 – Svetoslav

+0

如果我使用重定向('pagename'),這隻用於重定向到單頁,CMIIW。我還沒有弄清楚在我對這個框架有所瞭解的情況下,哪些功能或邏輯對CI框架有所幫助。 –