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リファラーを使用することで、このようなことができます

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