1

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

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

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

我该怎么做?


我使用的解决方案:

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

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

4

3 回答 3

2

你应该使用:

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

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

于 2013-03-13T01:19:25.000 回答
1

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

于 2013-03-13T01:50:44.527 回答
0

通过使用 url referrer 你可以做这些事情

$returnUrl = Yii::app()->request->urlReferrer;
于 2013-03-12T19:14:10.867 回答