Hello,

Rajoutes tout simplement ceci dans ton formulaire :

<?php echo $form['_csrf_token']; ?>

Alexandre

On 14 sep, 13:17, chakir ezziani <[email protected]> wrote:
> salut tt le monde,
> j'ai tjrs le probleme avec la personnalisation de signin form
> quelqu'un a une idée ??
>
> Le 11 septembre 2009 09:32, Lélio ML <[email protected]> a écrit :
>
> > As-tu regardé le code HTML généré dans les deux cas (de base et surchargé)
> > ?
> > La différence pourrait t'orienter vers la solution...
>
> > -----Message d'origine-----
> > De : [email protected] [mailto:[email protected]] De
> > la
> > part de chakir ezziani
> > Envoyé : vendredi 11 septembre 2009 11:30
> > À : [email protected]
> > Objet : [symfony-fr] Re: personnalisation Signin Form
>
> > oui c ce que j'ai fais j'ai recopié tt le module sfguard dans mon
> > application et j'ai changé le template signinSuccess.php mais j'ai la meme
> > action que celle d'avant, je pense qu'il y a une declaration que je dois
> > faire dans un fichier de configuration de l'application !!!!????
> > mais je suis bloqué mnt je sais pas quoi faire exactement
>
> > Le 11 septembre 2009 09:22, Lélio ML <[email protected]> a écrit :
>
> >        Repars peut-être de zéro.
>
> >        Comment as-tu surchargé ton formulaire ?
> >        Je crois que la bonne manière est de créer dans ton appli un module
> > sfAuth.
> >        Dans un répertoire templates tu recopies le fichier signin.php qui
> > se
> >        trouves dans le répertoire du plugin. Là tu agis à ta convenance.
>
> >        Sinon, les logs te disent-ils qqch ?
> >        Enfin, as-tu explicité les routes pour le plugin sfGuard comme
> > indiqué dans
> >        la doc (même si c'est optionnel) ?
>
> >        -----Message d'origine-----
> >        De : [email protected]
> > [mailto:[email protected]] De la
> >        part de chakir ezziani
>
> >        Envoyé : vendredi 11 septembre 2009 11:14
>
> >        À : [email protected]
> >        Objet : [symfony-fr] Re: personnalisation Signin Form
>
> >        merci Lélio
> >        pour la traduction ça marche bien mais maintenant je suis tombé dans
> > un
> >        autre probleme "le submit me marche pas "  quand j'entre un username
> > et
> >        password apré l'envoi du formulaire il me réaffiche le formulaire
> > vide!!!!!
> >        je pense que c l'action du form,n mais je suis pas sure
> >        une idée ??
>
> >        Le 11 septembre 2009 08:25, Lélio ML <[email protected]> a
> > écrit
> > :
>
> >               Pour la traduction, il suffit de mettre en place le module
> > i18n et
> >               d'indiquer dans le settings.yml que default_culture: fr. Et
> > hop, 95%
> >        de
> >               l'interface de sfGuardPlugin est traduite... Sans action
> >        particulière.
> >               Sinon, une petite lecture du code permet de savoir que le
> > fichier
> >        xml i18n
> >               où tu personnaliseras ta traduction est souvent sf_admin.xml
> > (dans
> >        le
> >               répertoire /apps/myApp/i18n/fr) sinon messages.xml
>
> >               Pas besoin de réécrire le template ou les classes
>
> >               -----Message d'origine-----
> >               De : [email protected]
> >        [mailto:[email protected]] De la
> >               part de chakir ezziani
> >               Envoyé : jeudi 10 septembre 2009 17:24
> >               À : [email protected]
> >               Objet : [symfony-fr] Re: personnalisation Signin Form
>
> >               salut,
> >               le formulaire s'affiche on appelant le sfGuardAuth , on
> > executant
> >               signinSuccess:
> >               <form action="<?php echo url_for('@sf_guard_signin') ?>"
> >        method="post">
> >               <table>
> >                <?php echo $form ?>
> >                </table>
>
> >                <input type="submit" value="Connexion" />
> >               </form>
>
> >               voila mnt la form :
>
> >               class sfGuardFormSignin extends sfForm
> >               {
> >                public function configure()
> >                {
> >                  $this->setWidgets(array(
> >                    'username' => new sfWidgetFormInput(),
> >                    'password' => new sfWidgetFormInput(array('type' =>
> >        'password')),
> >                    'remember' => new sfWidgetFormInputCheckbox(),
> >                  ));
>
> >                  $this->setValidators(array(
> >                    'username' => new sfValidatorString(),
> >                    'password' => new sfValidatorString(),
> >                    'remember' => new sfValidatorBoolean(),
> >                  ));
>
> >                  $this->validatorSchema->setPostValidator(new
> >        sfGuardValidatorUser());
>
> >                  $this->widgetSchema->setNameFormat('signin[%s]');
> >                }
>
> >               et le validateur du form:
> >               class sfGuardValidatorUser extends sfValidatorBase
> >               {
> >                public function configure($options = array(), $messages =
> > array())
> >                {
> >                  $this->addOption('username_field', 'username');
> >                  $this->addOption('password_field', 'password');
> >                  $this->addOption('rememeber_checkbox', 'remember');
> >                  $this->addOption('throw_global_error', false);
>
> >                  $this->setMessage('invalid', 'veuillez v&eacute;rifier vos
> >               informations.');
>
> >                }
>
> >                protected function doClean($values)
> >                {
> >                  $username =
> > isset($values[$this->getOption('username_field')]) ?
> >               $values[$this->getOption('username_field')] : '';
> >                  $password =
> > isset($values[$this->getOption('password_field')]) ?
> >               $values[$this->getOption('password_field')] : '';
> >                  $remember =
> >        isset($values[$this->getOption('rememeber_checkbox')]) ?
> >               $values[$this->getOption('rememeber_checkbox')] : '';
>
> >                  // user exists?
> >                  if ($user =
> > sfGuardUserPeer::retrieveByUsername($username))
> >                  {
> >                    // password is ok?
> >                    if ($user->checkPassword($password))
> >                    {
> >                      return array_merge($values, array('user' => $user));
> >                    }
> >                  }
>
> >                  if ($this->getOption('throw_global_error'))
> >                  {
> >                    throw new sfValidatorError($this, 'invalid');
>
> >                  }
>
> >                  throw new sfValidatorErrorSchema($this,
> >               array($this->getOption('username_field') => new
> >        sfValidatorError($this,
> >               'invalid')));
> >                }
> >               }
>
> >               pour l'erreur "invalid' je l'ai converti en fraçais dans le
> >        validateur mai
> >               elle reste a sa place lorsqu'elle s'affiche
> >               et si je laisse un champs vide l'erreur "required" s'affiche
> > en
> >        déformant le
> >               formulaire, et elle doi etre en français!!!!
>
> >               vraiment j'ai gaspier beaucoup de temps sur ça, je commence a
> >        regretter
> >               l'utilisation de symfony
>
> >               cordialement
>
> >               Le 10 septembre 2009 14:17, Mikael Randy
> > <[email protected]> a
> >        écrit :
>
> >                      Soit patient, on a tous une vie ;-)
>
> >                      Comment est-ce que tu affiches ton formulaire ?
>
> >                      Le 10 septembre 2009 16:02, chakir ezziani
> >               <[email protected]> a écrit :
>
> >                              salut
> >                              toujours pas de réponse les symfoniens?!!!!
>
> >                              Le 10 septembre 2009 10:33, chakir ezziani
> >               <[email protected]> a écrit :
>
> >                                      Bonjour Mikael,
> >                                      j'ai essayé le bout de code que tu
> > m'as
> >        envoyé et
> >               j'arrive a afficher les erreurs un peu loin des champs de
> > saisie,
> >        mais aussi
> >               il reste les ereeurs sur chaque champs !!!
> >                                      pour l'erreur invalid on peu la
> > modifier dans
> >        le
> >               validateur sfGuardValidatorUser mais pour l'erreur "required"
> > j'ai
> >        pas
> >               trouvé ou l'instruction responsable de la renvoyé !!!!!?
>
> >                                      Le 10 septembre 2009 09:44, Mikael
> > Randy
> >               <[email protected]> a écrit :
>
> >                                              Il n'existe pas de fonction
> >        renderError()
> >               (et pourtant dieu sais que ça serait pratique).
>
> >                                              Par contre, il est
> > relativement
> >        simple de
> >               récupérer les erreurs d'un formulaire :
>
> >                                              <?php if(
> >        $form->getErrorSchema()->count() >
> >               0 ) : ?>
> >                                                 <ul>
> >                                                 <?php foreach(
> >               $form->getErrorSchema()->getErrors() as $field => $message ):
> > ?>
> >                                                    <li><?php echo $message
> > ?></li>
> >                                                 <?php endforeach ?>
> >                                                 </ul>
> >                                              <?php endif ?>
>
> >                                              Le 1er if permet de contrôler
> > s'il y
> >        a des
> >               erreurs, le foreach récupère toutes les erreurs et les
> > affiches une
> >        à une.
> >               $field contient le nom du champ concerné et $message le
>
> ...
>
> plus de détails »

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à