Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous, j'ai un problème de modification des paramètres d'un untilisateur connecté et voila le code :
public function modifierAction(){
$form = new Default_Form_Inscription();
$form->envoyer->setLabel('Sauvegarder');
if ($this->getRequest()->isPost()) {
$formData = $this->getRequest()->getPost();
if ($form->isValid($formData)) {
$id = $form->getValue('id_utilisateur');
$nom = $form->getValue('nom');
$prenom = $form->getValue('prenom');
$login = $form->getValue('login');
$password = $form->getValue('password');
$sexe = $form->getValue('sexe');
$email=$form->getValue('email');
$datedenaissance = $form->getValue('datedenaissance');
$adresse = $form->getValue('adresse');
$cp = $form->getValue('codepostale');
$tel = $form->getValue('telephone');
$nationalite = $form->getValue('nationalite');
$pays = $form->getValue('pays');
$ville = $form->getValue('ville');
$user = new Default_Model_DbTable_Users();
$user->modifierCompte($id, $nom, $prenom, $login, $password, $sexe,$email,
$datedenaissance, $adresse, $cp,
$tel,$nationalite, $pays, $ville);
$this->_helper->redirector('index');
} else {
$form->populate($formData);
}
}else{
$id = $this->_getParam('id', 0);
$id= Zend_Auth::getInstance()->getStorage()->read()->id_utilisateur;/////le probleme est dans cette ligne
if($id > 0){
$user = new Default_Model_DbTable_Users();
$form->populate($user->getUtilisateur($id));
}
}
$this->view->form = $form;
}
quand je suis connecté et je veux modifier les paramètres de compte il me charge l'enregistrement à modifier,
par contre dans le cas ou je suis déconnecté et je clique sur modifier il me donne le formulaire avec des champs vides avec l'erreur suivante :
Notice: Trying to get property of non-object in C:\wamp\www\application_ged\application\modules\default\controllers\UtilisateurController.php on line 90
ma demande est seulement d'empêcher cet erreur d'apparaitre avec le formulaire de modification dans le cas déconnexion
Hors ligne
Salut, tu mélanges plusieurs choses. Dans la partie qui pose problème tu fais :
[lang=php] $id = $this->_getParam('id', 0); $id= Zend_Auth::getInstance()->getStorage()->read()->id_utilisateur;/////le probleme est dans cette ligne
Je suppose que le _getParam est là pour des tests sinon il faudra le retirer car il sert à rien.
Concernant ton problème c'est très simple, tu accèdes à une valeur de la session qui n'existe pas donc forcément ça plante. Ce qu'il faut que tu fasses c'est tester si tu as une session d'ouverte.
Ca doit être un truc du genre :
[lang=php] Zend_Auth::getInstance()->hasIdentity() // si ça renvoi true c'est que tu es connecté
Dernière modification par Orkin (08-05-2012 14:31:17)
Hors ligne
merci pour la réponse
Hors ligne
Pages: 1