formulaire

Par krams33, il y a 14 ans


Bonsoir a tous
Je me demandais est-il possible de créer un formulaire de connexion rapide sur sa page d'accueil ? Et on toujours obligé de mettre notre formulaire dans users/login ?
Merci

7 réponses

MrGuillou, il y a 14 ans

bonsoir, tu mets ton formulaire ou tu veux, temps que le "action" pointe sur le bon script de traitement.

krams33, il y a 14 ans

Je vois pas trop comment faire si mon formulaire se trouve sur default.ctp
et qu'il doit pointé sur user/login

krams33, il y a 14 ans

Le truc c'est qu'au lieu de me loguer a partir de la vue users/login je voudrais me loguer a partir de la racine du site mais tout en appelent le controller Users et la methode login

Typhon, il y a 14 ans

Et bien tu mets ton formulaire sur la page que tu veux, en y ajoutant les champs, et lors de la soumission du formulaire tu redirige sur la vue users/login.

Pour celà, tu mets dans ta balise <form> action="users/login"

<form action="users/login">
    <!-- Le reste du formulaire -->
</form>

Comme çà pas de problème, ton formulaire redirige vers la vue users/login, avec la information que tu aura saisit dedans pour qu'elle puisse les traiter, ensuite ta vue users/login redirige sur la racine de ton site.

krams33, il y a 14 ans

Mon formulaire ressemble a ça

<?php echo $this->Form->create('User'); ?>
    <?php echo $this->Form->input('username',array('label'=>"Votre login ")); ?>
    <?php echo $this->Form->input('password',array('label'=>"Mot de passe")); ?>
<?php echo $this->Form->end('Se connecter'); ?>

Il sait sur default.ctp

Typhon, il y a 14 ans

Fait le comme ça :

<?php echo $this->Form->create('User', 'users/login'); ?>
    <?php echo $this->Form->input('username',array('label' => "Votre login")); ?>
    <?php echo $this->Form->input('password',array('label' => "Mot de passe")); ?>
<?php echo $this->Form->end('Se connecter'); ?>

Et rajoute dans ta fonction create() un paramètre action :

create($name, $action)

Et remets cette action dans le formulaire que tu crées en mettant :

<form action="'.$action.'">

Puis adapate comme bon te semble ;)

Grafikart, il y a 14 ans

Plutot

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