|
|
1
16
首先,您需要获取重定向的原始URL。 您可以通过Zend_Controller_请求类通过以下方式完成此操作:
或者简单地说:
然后,棘手的部分是通过用户请求传递它。 我建议使用library zend_会话,尽管使用post参数也是合法的:
请注意,我们保留的地址包括基路径。 若要重定向控制器类中的客户端,请禁用选项“prependbase”以丢失基路径插入:
|
|
|
2
8
我发现实现这一点的一个简单方法就是在您的登录表单中隐藏一个字段。
现在,我不确定您的登录表单是通用HTML元素还是
然后在我的身份验证脚本中,像上面的注释一样,我有一个简单的重定向,它使用传入的值将它们返回到同一页。
显然,在这两个示例中,它们只是为了压缩代码而编写的,可能并不代表实现代码的最佳方式。两种方法使用
上面的答案显然也可以,除非你进行了大量的页面重定向。我现在用这种方式运行的主要原因是不是所有窗体都在运行
|
|
|
3
6
基本上和Jesta在他的答案中做的一样,但是我在我的“mw-form”类中添加了以下函数-这是我所有窗体的一个超类-很容易
使用的装饰器-为您提供了不使用
示例用法(来自控制器):
|
|
|
4
3
我有一个预补丁插件用于授权。在它中,如果(并且仅当)用户需要被记录,我将请求URI保存到会话,在登录之后,我将重定向到会话。除了重定向到登录表单时,没有开销。但在这种情况下,开销是没有问题的。:)
|
|
|
5
2
我知道这已经有了答案,但我也想把我的也扔进去,就像用一种不同的方法,用静态的方法剥皮猫的皮肤一样。
这并不是一直都在运行,只是在需要的基础上。 这就是整个代码,我的博客文章的一部分( http://hewmc.blogspot.com/2010/08/simple-way-to-store-last-visited-url-in.html ) |
|
|
6
1
这个Zend框架插件允许您保存当前和最后一个合格的URL,并过滤掉不需要的URL。请随意使用和评论:
|
|
|
7
0
除了gnarfs的答案,我还修改了它,使之成为有效的——对于那些得到它的人来说。
|
|
|
8
0
您可以尝试使用http_referer头,如下所示:
|
|
|
9
0
如果您不喜欢通过会话传递变量,您可以尝试以安全的方式获取$_server['http_referer']变量。基本上,它检查引用URL是否与服务器本地名称和方案(http/https)匹配。
然后就
默认情况下,您可以设置本地URI(“/”) |
|
|
10
0
$this->_重定向($this->getRequest()->getServer('http_referer')); |
|
|
11
-2
我确信ZF中有一些内置的方法可以做到这一点,但我很懒惰,所以我是这样做的: 创造你自己 应用程序控制器动作 类(create/library/app/controller/action.php)。从这个类中扩展所有控制器 在每个控制器中,我调用$this->ou initauth(),函数粘贴在下面:
在AuthController中,我执行以下操作以确保表单指向完整的URL:
如果登录验证,则执行以下操作:
|