我正嘗試將用戶重定向到他們在嘗試登錄前查看的頁面。例如,如果他們正在查看baseurl/people/abraham_lincoln,然後決定登錄,登錄後他們將被重定向到baseurl/people/abraham_lincoln。奇怪的是,它是爲一些URL而不是其他的。對於某些網址,我將附加「javascript/jsFunctions.js」作爲網址,而不是之前的網址。Codeigniter重定向在登錄頁面上發生變化
在每個控制器的頂部,我設置會話變量做我的重定向:
$this->session->set_userdata('Redirect', current_url());
我打印這個會話變量到我的控制器上,並在我的日誌鑑於頂部測試目的。以下是我在登錄時收到的一些結果。
那的工作一個URL的一個例子:
網址我試圖從登錄:
baseURL/people
什麼獲取我的控制器頂部打印爲我重定向會話變量:
baseURL/people
什麼打印在我的日誌頂部視圖中作爲我的重定向會話變量:
baseURL/people
無法運作的一個URL的一個例子:
網址我試圖從登錄:
baseURL/people/abraham_lincoln
什麼獲取我的控制器頂部打印爲我重定向會話變量:
baseURL/people/abraham_lincoln
什麼打印在我的登錄視圖頂部因爲我重定向會話變量:
baseURL/people/javascript/jsFunctions.js
我不知道,如果它的問題,但我還有些路由從routes.php文件文件這些URL:
$route['people/(:any)'] = "people/index/$1";
$route['people/(:any)/(:num)'] = "people/index/$1/$2";
我曾試圖建立我的會話變量很多不同的方式,包括:
current_url()
base_url().uri_string()
base_url().$this->uri->segment(1)....
base_url().$this->uri->rsegment(1)....
如果任何人能想到的爲什麼我得到這些JavaScript的變量,而不是URL我在找我將不勝感激任何輸入。
謝謝!
P.S.我忘了提及,如果我刷新一個不工作的頁面,例如abraham_lincoln頁面,然後進入登錄頁面,我會收到正確的Redirect會話變量。幾乎就像第一次通過時沒有正確設置,但不知道如何解決這個問題,因爲我已經嘗試在加載視圖之前在頂部和右側設置會話變量。
感謝您的答覆。即使當我將它附加到我的視圖中的url時,我仍然會將javascript.js文件附加到current_url()。不知道爲什麼。我目前有一個使用$ _SERVER ['HTTP_REFERER']的解決方案,目前似乎正在工作。我知道這不是100%可靠的,但現在正在工作。再次感謝您的回覆。 – CoreyMSchafer 2012-07-25 16:34:35