-2

私はcakephpのデフォルトレイアウト内にhtmlフォームを持っています。私はケーキが初めてで、そのドキュメントは...まあ、あなたは知っています。

私の質問は、そのフォームのアクションを「ユーザー/ログイン」のようなものに設定して、プレビューページにリダイレクトできるかどうかです。Authコンポーネントのドキュメントも役に立たないので、誰かが私にいくつかの光を与えてくれれば幸いです。

ありがとう

4

2 に答える 2

1

FormHelperを使用してフォームを作成していますか? そうであれば、 create メソッドでフォームのアクションを指定できます。

$this->Form->create('User', array('action' => 'login'));

その後、コントローラーのログイン アクションでリダイレクトを処理できます。ほとんどの場合: $this->redirect().

http://book.cakephp.org/2.0/en/controllers.html#Controller::redirect

Auth コンポーネントに関しては、このチュートリアルが役立つ場合があります。

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

于 2013-03-13T22:04:59.317 に答える
1

アクションを設定するには: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-create

オプションアクションを確認してください。次のようになります。

$this->Form->create('User',array('action'=>array('controller'=>'users','action'=>'login')));

または多分あなたは直接置くことができます(お勧めしません)'/Users/login'

今...リダイレクトについては、これを確認してください:

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#AuthComponent::$loginRedirect

AuthComponent::$loginRedirect

ユーザーがログイン後にリダイレクトされるコントローラー アクションへの URL (文字列または配列として定義)。ユーザーがセッションに Auth.redirect 値を持っている場合、この値は無視されます。

そのページが公開されていない場合、Cake はセッションでアクセスしようとしているページを保存します。そのページが公開されている場合、ページのURLも保存されているかどうかはよくわかりません。テストする必要があります。しかし、そうでない場合は、AppController に数行を記述して機能させることができます。次のようにする必要があります。

if current_page is public and current_page is not login or logout page:
    $this->Session->write('Auth.redirect',$this->here);

ページが公開されているかどうかを確認するには、Request オブジェクトを確認する必要があります。$params のどこかにプレフィックスがあります。

これが役に立てば幸いです...ドキュメントをあきらめないでください^^...

于 2013-03-13T22:06:34.947 に答える