IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Champs formulaire password


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Par défaut Champs formulaire password
    Dans un form d' un des modules de backend hérité de sfguardUser, le mot de passe hashé est directement rappelé quand j' edite l' utilisateur.

    Trés bien me dirait vous ?

    Le hic, c' est que cette chaine est à nouveau soumis dans le formulaire même si je ne modifie pas ce champs.

    Conséquence : cette chaine devient le nouveau mot de passe et un nouveau hash est généré en base.

    J' ai même testé de desactivé le champs dans configure(), le champs est quand même soumis avec une valeur NULL évidemment.

    J' aimerai conserver le comportement de sguard qui en cas d' édition d' un user, m' affiche les champs mot de passe vide. Si je modifie pas ces champs dans le formulaire, il n' est pas modifié en base. Propre quoi !

    J' espère avoir été assez clair.


    Merci d' avance.

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu as modifié quoi ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Par défaut
    rien justement.

    J' ai juste surchargé la fonction processForm, par ce que j' avais besoin d' envoyer un e-mail quand un nouveau user était crée.

    Par contre dans mon formulaire je n' ai qu' un seul champs password (pas de champs confirmation).

    C' est celui ci qui récupère la valeur qui est en base quand j' édite le user.
    Ce n' est pas le cas dans le sfguardUserForm.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu as forcément un form et un traitement différent de celui de sfGuard. Suffisamment pour qu'on ne puisse s'en inspirer.

    Il faudrait le code du contrôleur et des méthodes qui vont avec ainsi que le code du form et, éventuellement, celui du template, mais, en principe, il ne devrait y avoir aucun traitement là.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Par défaut
    Ben j' utilise les form auto généré du backend (CRUD), je suis sur un modèle hérité (par agrégation) de sfguardUser.


    J'ai donc les champs propres a sfguarduser (id, username, password, email) qui sont complétés par celui de mon modèle modèle (adresse, code postale) .

    Les templates sont donc auto-générés de la même manière que pour sfguard.

    Si je te mets le code auto généré, je pense que cela t' aide bcp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php use_helper('I18N', 'Date') ?>
    <?php include_partial('consultant/assets') ?>
     
    <div id="sf_admin_container">
      <h1><?php echo __('Edition d\'un consultant', array(), 'messages') ?></h1>
     
      <?php include_partial('consultant/flashes') ?>
     
      <div id="sf_admin_header">
        <?php include_partial('consultant/form_header', array('consultant' => $consultant, 'form' => $form, 'configuration' => $configuration)) ?>
      </div>
     
      <div id="sf_admin_content">
        <?php include_partial('consultant/form', array('consultant' => $consultant, 'form' => $form, 'configuration' => $configuration, 'helper' => $helper)) ?>
      </div>
     
      <div id="sf_admin_footer">
        <?php include_partial('consultant/form_footer', array('consultant' => $consultant, 'form' => $form, 'configuration' => $configuration)) ?>
      </div>
    </div>

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Si tu relis ce que j'ai posté juste avant, je t'expliquais que le code qui m'intéressait le moins était le template. Par contre, le form et le contrôleur, eux sont beaucoup plus intéressant.

    Tu n'as posté que le template Un dicton dit, aide toi et DVP t'aidera...

    Dans ce type de configuration, que je ne peux que supposer, le mieux est de modifier ton form, de désactiver le champs standard password et d'en créé un autre non requis, avec son validateur, dont le nom ne correspond pas.

    Dans le modèle tu vas modifier et créer un get et un set pour le nom champ de nouveau nom que tu as créé. Le get retournera un string vide systématiquement, le set va prendre la valeur et la mettre a jour dans le champ password si elle n'est pas vide en utilisant la méthode _set('password', $valeur).

    Le résultat te donne un form avec un champ password vide. Si tu le laisse vide, rien ne se passe. Si tu le rempli, il est utilisé comme mot de passe. Si un mot de passe est saisi, mais que le form est ré affiché pour une autre raison, le mot de passe saisi reste dans la zone.

Discussions similaires

  1. Verification champ formulaire
    Par calitom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 14h54
  2. Récupérer la valeur d'un champs formulaire
    Par bodtx dans le forum Access
    Réponses: 5
    Dernier message: 01/03/2006, 14h55
  3. Valeur dans champ formulaire
    Par dbi dans le forum Access
    Réponses: 5
    Dernier message: 18/02/2006, 01h18
  4. Réponses: 1
    Dernier message: 29/09/2005, 12h05
  5. Modifier la position d'un champs formulaire
    Par gg14bis dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/09/2005, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo