Ik ben bezig met een webapp. Ik heb een default layout. Gebruikers moeten zich registreren op een aangemaakte page genaamd register.ctp:
Dit is dus niet een view ala /users/register. Dit formulier is gelijk aan het form dat cake bake ook maakt ahv het User model. Het formulier moet wel submitten naar /users/register, maar wanneer de invoer niet goed moet terug geredirect worden naar het formulier. Dit staat dus in mijn user_controller.php:
Er wordt bij foutieve invoer naar de juiste pagina geredirect, maar in het formulier wordt nu niet juist aangegeven welke elementen niet juist waren "This field cannot be left blank".
Wanneer ik
Waarom werkt het niet?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ... <?php echo $form->create('User', array('controller'=>'users', 'action' => 'register'));?> <fieldset> <legend><?php __('Add User');?></legend> <?php echo $form->input('username'); echo $form->input('email'); echo $form->input('password'); echo $form->input('password_confirm'); echo $form->input('firstname'); echo $form->input('lastname'); echo $form->input('allow_mailing'); echo $form->input('mobile_phone_number'); ?> </fieldset> <?php echo $form->end('Submit');?> ... |
Dit is dus niet een view ala /users/register. Dit formulier is gelijk aan het form dat cake bake ook maakt ahv het User model. Het formulier moet wel submitten naar /users/register, maar wanneer de invoer niet goed moet terug geredirect worden naar het formulier. Dit staat dus in mijn user_controller.php:
PHP:
1
2
3
4
5
6
7
8
9
10
| function register() { if (!empty($this->data)) { $this->User->create(); if ($this->User->save($this->data)) { $this->flash(__('User saved.', true), array('action' => 'index')); } else { $this->redirect('/register'); } } } |
Er wordt bij foutieve invoer naar de juiste pagina geredirect, maar in het formulier wordt nu niet juist aangegeven welke elementen niet juist waren "This field cannot be left blank".
Wanneer ik
PHP:
weglaat wordt geredirect naar de register view en wordt dat wel juist weergeven. Maar ik wil dus dat het een page is en niet een view. Dat wil ik omdat de register pagina een andere layout heeft dat standaard voor views gebruikt wordt. Aan mijn pages_controller.php het ik de form helper toegevoegd.1
| $this->redirect('/register'); |
Waarom werkt het niet?