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 :

Modifier les données d'un utilisateur avec inputPassword


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut Modifier les données d'un utilisateur avec inputPassword
    Bonjour,

    j'ai un petit souci et je ne vois pas du tout comment contourner le problème.

    J'ai une table user qui contient les données de l'utilisateur dont son mot de passe. J'ai générer les form à partir de cette table via doctrine. (J'ai surcharger la méthode save de mon modèle user pour encrypter le mot de passe.

    Le problème étant que lorsque je souhaite modifier les données de l'utilisateur, le mot de passe n'apparait pas et donc il faut le retaper à chaque fois.

    Est il possible de spécifier lorsque le mot de passe n'est pas saisie dans le formulaire d'édition de garder l'ancien mot de passe?

    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
    Ce que j'ai utilisé dans une de mes premières applications.

    Le form utilise un champ pass1 (et pas pass d'origine).

    La méthode pour modifier pass1 dans le modèle :
    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
     
        public function setPass1($pass)
        {
            if (!$pass == "")
            {
                $this->setPasse($pass);
            }
        }
     
        public function setPasse($passe)
        {
            parent::_set('passe', md5($passe));
            return $this;
        }
     
        public function comparePasse($passe)
        {
            return ( md5($passe) == parent::getPasse() );
        }
    en prime la méthode comparePasse qui permet de vérifier la validité du mot de passe.

    Bon, c'est un de mes premiers code, pas très top. Mais il marche depuis 2 ans.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut
    Merci,

    en faite j'ai fait différemment mais je sais pas si c'est plus propre. Sur le fonctionement des formulaire et des modèle, quand il crée l'objet à partir du form, il utilise les setter de l'objet ? ou les remplis directement ?

    Puis quand il insert l'objet en base de données (pour la mise a jour) ignore t'il les attribut valant la valeur NULL ?

  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
    Je ne te suis pas sur la question des "setter de l'objet" ?

    Chaque champs est un objet en lui même, il sait s'il a été modifié et s'enregistre s'il est modifié. Le fait de le mettre à null revient à le modifier... Donc, soit tu as un champs null, soit tu as interdit la valeur null et tu as un message d'erreur.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut
    Les méthode qu'il a indiquée en haut sont bien les méthodes de l'objet User et non pas des méthodes du formulaire ?

  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
    Toutes ces modifications sont à apporter au modèle, vu que tu traites les données, pas leur représentation (form), ni leur saisie (form).

    Par contre, vu ce que tu fais, je pense que tu aurais intérêt à jeter un œil attentif au plugin sfDoctrineGuard

    Qui fait ce que tu souhaites, avec des formulaires déjà existant et une gestion des droits intégrées. Jette un œil attentif à ce plugin.

Discussions similaires

  1. Modifier les données avec un curseur
    Par isoman dans le forum SQL
    Réponses: 8
    Dernier message: 25/05/2008, 14h05
  2. Réponses: 2
    Dernier message: 05/10/2005, 15h27
  3. comment modifier les données d'une table à travers un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 12
    Dernier message: 19/07/2005, 09h51
  4. MySQL Administrator : modifier les données d'une table
    Par Robinounou dans le forum Outils
    Réponses: 4
    Dernier message: 13/07/2005, 17h21
  5. [Crystal Reports 10] Modifier les données d'un état
    Par jidea dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/08/2004, 18h16

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