2013-03-13 3 views
-2

У меня есть html-форма внутри макета по умолчанию cakephp. Я новичок в пироге, это документация ... ну, вы знаете.login cakephp 2.3 статическая форма

Мой вопрос в том, можно ли установить действие для этой формы на что-то вроде «Пользователи/логин» и перенаправление на страницу предварительного просмотра. Документация компонента Auth не является полезной, поэтому я буду благодарен, если кто-то из вас даст мне немного света.

Благодаря

+0

Людей не идут хорошо с документацией и начать обвинять его. Как вы можете видеть, все ответы имеют ссылку на ОФИЦИАЛЬНУЮ ДОКУМЕНТАЦИЮ. В поваренной книге есть все, что вам нужно знать. Мы все узнали из официальной документации, у нее есть все. –

+0

Действительно, вы видели документы для codeigniter? – Ricbermo

+0

ли вы видели документацию для MVC3 asp.net, django для python? хе-хе, я просто риторически. Но я хочу сказать, что если вы продолжите сравнивать, всегда будет лучше. Мне было бы только позаботиться, если мои вопросы ответят или нет: «Они!» n btw Cake имеет очень хорошие объяснения и документы, он отстает от примеров, подобных другим фреймворкам. Большинство ppl просто копируют и вставляют их, я не уверен, что это то, что вы называете «Хорошая документация» –

ответ

1

Вы используете FormHelper построить форму? Если да, то вы можете указать действие формы в методе создания:

$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

+0

Спасибо, но я не использую хелпер формы. но я думаю, что я собираюсь изменить дизайн, чтобы избежать подобных трюков, и, кстати, думает правильный путь – Ricbermo

+0

. Я мог бы сделать это, используя свой опыт в php и других рамках. – Ricbermo

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 в их сеансе.

Торт хранит страницу, к которой вы пытаетесь получить доступ в сеансе, если эта страница не является общедоступной. Я не уверен, что он также сохранит URL страницы, если эта страница является общедоступной, вам придется ее протестировать. Но если это не так, вы могли бы написать несколько строк на AppController, чтобы заставить его работать .. это должно быть что-то вроде:

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

, чтобы проверить, если страница общественности вы должны видеть запрос объект, есть prefix где-то на $ params.

Надеется, что это помогает ... не дадут на доке ^^ ...

+0

Спасибо, но я не использую помощник формы. но я думаю, что я собираюсь изменить дизайн, чтобы избежать подобных трюков, и думает правильно – Ricbermo

Смежные вопросы