2010-11-15 49 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

相关问题