Bonjour tout le monde =D
Je vien vous demander de l'aide car je suis en train de permattre au membre de mon site de changer de login de mail de password etc...

Malheuresement se n'est pas aussi simple que de mettre a jour une page ...

Je m'explique : Apres avoir verifier l'envoi de donner du formulaire et vérifier les erreur je souhaite enregistrer les donners enregistrer dans

$this->request->data

jusque la vous me direz ces logique... Mais lorsque je veux enregistrer des donner spécifique du style :
Quand le login envoyer est different de celui de la BDD faire un truc du genre =

$this->request->data->login

Mais se n'est pas possible j'ai essayer tout les truc imaginable.

Et autre probleme :/
Dans mon formulaire jai :

password et passwordconfirm

et quand il fait un update ... bah héhé il trouve pas password confirm ...
Bref soit jtourne autour d'une erreur vraiment bete soit j'comprend vraiment rien a rien -_-'

5 réponses


serda
Auteur
Réponse acceptée

Chose promise chose dus ! apres avoir regarder des tuto sur la PDO j'men suis sortie ;)

function superadmin_edit($id){
        $this->loadModel('User');
        $d'user'] = $this->User->findFirst(array(
            'conditions' => array('id'=>$id)
        ));
        if($this->request->data){
            $d = $this->request->data;
            $session->id = $_SESSION'User']->id;
            //////// MOT DE PASSE
                if(!empty($d->pass1)){
                    if($d->pass1==$d->pass2){
                        $d->password = sha1($d->pass1);
                    $pass->id = $session->id;
                    $pass->password = $d->password;
                    $this->User->save($pass);
                    $_SESSION'User']->password = $d->password;
                    }$this->Session->setFlash('Vos Mot de passe sont different','error');
                }
            ///////// PSEUDO
                if(!empty($d->login)){
                    $user = $this->User->findFirst(array('conditions' => array('login' => $d->login)));
                    if(empty($user)){
                        $log->id = $session->id;
                        $log->login = $d->login;
                        $this->User->save($log);
                        $_SESSION'User']->login = $d->login;
                    }
                }
            ///////// ADRESSE MAIL
                if(!empty($d->mail)){
                    $email = $this->User->findFirst(array('conditions' => array('mail' => $d->mail)));
                    if(empty($email)){
                        $mail->id = $session->id;
                        $mail->mail = $d->mail;
                        $this->User->save($mail);
                        $_SESSION'User']->mail = $d->mail;
                    }
                }
        }
        $this->Session->setFlash('Votre profil a été modifier');
        $this->redirect('superadmin/profils/index/'.$_SESSION'User']->id);
    }

Pas bien saisis le concept :D

serda
Auteur

Si je reprend ton exemple:

On recupere les information de l'utilisateur grace au formulaire et les données on les recupere avec

$this->request->data

et dedans se trouve TOUTE les info de l'utilisateur donc pour sauvegarder une page entiere on fait

$this->Post->save($this->request->data)

Hors la pour une modification de profil comme dans notre profil sur ton site, j'ai besoin de recuperer SEULEMENT les données changer "login, mais, ou le pass si il est pas vide".

Et c'est la que je coince ... comment garder les info de

$this->request->data

qui m'interesse :/

PS: j'ai beau les tuto sur les tableau j'en galere toujour autant a sauvegarder certaine donnée d'un tableau ...

serda
Auteur

Ha je pensait avoir suprimer mon sujet mais aparament y'a u un bog ^^

Bon bah je posterai mon code final quand il sera pret =)

serda
Auteur

Merci pour le tuto sur Cake Grafikart =D