Yii:登录后继续行动

时间:2013-03-12 19:06:42

标签: php yii

我有一个页面,其中包含我的Yii应用程序中的表单。

我想允许所有用户查看此表单,但在提交表单时,如果用户未登录 - 我想将其重定向到登录页面。用户登录后,我想继续提交原始表单。

例如在此页面中: http://www.yiiframework.com/demos/blog/index.php/post/13/sadfasdfasdf#comments 当用户点击“提交”时,他将被重定向到登录页面,登录后他的评论将被提交,登录用户。

我该怎么做?


我使用的解决方案:

  1. 我按照此信息设置了返回网址:http://www.yiiframework.com/wiki/43/adding-login-form-to-each-page/

  2. 在将访客发送到登录页面之前,我将POST信息保存在会话中。 当用户被重定向到原始页面时,我检查会话是否包含原始POST信息,如果确实如此 - 我用新用户ID保存它

3 个答案:

答案 0 :(得分:2)

您应该使用:

$this->redirect(Yii::app()->user->returnUrl);

这将重定向已请求用户授权的页面。

答案 1 :(得分:1)

如果用户未登录,您将需要在会话中存储原始POST变量。否则,如果您使用其他人建议的returnUrl,则您将丢失最初提交的评论。

答案 2 :(得分:0)

使用url referrer你可以做这个东西

$returnUrl = Yii::app()->request->urlReferrer;