2010-11-15 96 views
0

我想從相同/相似的方式HTTP_REFERER值你會從一個請求得到它:

$this->_getParam('order', 0); 

我想我會嘗試這樣的事情:

$lastrequest = new Zend_Controller_Request_Http($_SERVER['HTTP_REFERER']); 
$lastorder = $lastrequest->getParam('order', 0); 

但這並不起作用。沒有參數。 getParams返回一個空字符串。我錯過了什麼?有一個更好的方法嗎?

謝謝!

+0

你可以顯示'$ _SERVER ['HTTP_REFERER']'看起來像什麼嗎? $ lastrequest中沒有數據嗎? – 2010-11-15 14:52:11

+0

當然有。它可能看起來像這樣:http://domain.com/module/controller/action/param1/data/param2/data – 2010-11-15 15:14:10

回答

3

這通常是一個壞主意。

除了什麼Justin pointed out之外,將這些值直接傳遞到新頁面更容易,而不是試圖從引薦來源解析它們。

+0

就是這樣。我的大腦一定不能開啓。 – 2010-11-15 15:17:47

+0

@sims:這是星期一早上。我很驚訝我的大腦甚至在工作。 ;)在我真正開始日常工作之前,再看看,思考,有時回答這些問題可能是一個很好的熱身。 – Powerlord 2010-11-15 15:21:58

2

PHP docs for HTTP_REFERER

的頁面(如果有的話),其被稱爲用戶代理到當前頁面的地址。這由用戶代理設置。並非所有的用戶代理都會設置它,有些提供了將HTTP_REFERER修改爲功能的功能。總之,它不能真正被信任。

所以請記住這個參數甚至可以不通過瀏覽器設置...

+0

你讀過我的問題嗎?你只是告訴我一些我已經知道的文檔。這實際上更多的是使用Zend來解析URL字符串,而不是我不得不重新發明輪子。 – 2010-11-15 15:15:36

相關問題