Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Femme Profil pro
    Développeur Java
    Inscrit en
    juin 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : juin 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut Authenstification avec Zend framework

    Bonjour ,je ss nouvelle en PHP ,et je voulai faire une authentification mais j'ai l'erreur suivante :
    Notice: Undefined index: in C:\wamp\www\dexiemeProjetZend\library\Zend\Form.php on line 1017 Fatal error: Call to a member function getOrder() on a non-object in C:\wamp\www\dexiemeProjetZend\library\Zend\Form.php on line 1017
    voici mon code pour la Form:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
     
    class Form_LoginForm extends Zend_Form{
     
     
        public function __construct($options = null){
     
             parent::__construct($options);
             $this->setName('Login');
             $username=new Zend_Form_Element_Text('username');
             $username->setLabel('Login ')
                    ->setRequired();
     
             $password=new Zend_Form_Element_Password('password');
             $password->setLabel('Password ')
                    ->setRequired(true);
     
             $login=new Zend_Form_Element_Submit('login');
             $login->setLabel('Connexion ');
     
            $this->addElement(array($username,$password,$login));
            $this->setMethod('post');
            $this->setAction(Zend_Controller_Front::getInstance()->getBaseUrl(),'/auth/login');
            }
    }?>
    ET voici mon code controller:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public function loginAction()
        {
            if(Zend_Auth::getInstance()->hasIdentity()){
                $this->_redirect('index/index');
            }
            $request =$this->getRequest();
            $form = new Form_LoginForm();
     
            if($request->isPost())
            {
                if($form->isValid($this->_request->getPost())){
     
     
                    $authAdapter =$this->getAuthAdapter();
     
                     $username=$form->getValue('username');
                     $password=$form->getValue('password');
     
                     $authAdapter->setIdentity($username)
                                ->setCredential($password);
     
                     $auth =Zend_Auth::getInstance();
                     $result= $auth->authenticate($authAdapter);
                     if($result->isValid())
                     {
                       $identity = $authAdapter-> getResultRowObject();
                       $authStorage = $auth-> getStorage();
                       $authStorage->write($identity);
                       $this->_redirect('index/index');
     
                     }else
                     {
                        $this->view->errorMessage="login ou mot de passe invalide";
                     }
     
                   }
            }
            $this->view->form = $form; 
        }
    Veuillez m'aidez SVP ,le plus vite possible

  2. #2
    Membre expérimenté
    Homme Profil pro armel
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    308
    Détails du profil
    Informations personnelles :
    Nom : Homme armel
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 308
    Points : 544
    Points
    544

    Par défaut

    bonjour,

    pour la lisibilité de ton code utilises les balises [code] .A quoi correspond la ligne $authAdapter = $this->getAuthAdapter() auquel cas tu peux poster la méthode $this->getAuthAdapter() qui est censé rédéfinir l'adapter de Zend_Auth (en particulier
    Code :
    Zend_Auth_Adapter_DbTable
    );

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    1 275
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : janvier 2005
    Messages : 1 275
    Points : 1 603
    Points
    1 603

    Par défaut

    Pour ajouter plusieurs éléments, c'est $this->addElements(array($username,$password,$login)); et pas $this->addElement(...)

  4. #4
    Modérateur
    Avatar de 5h4rk
    Homme Profil pro Loïc
    Ingénieur étude et développement
    Inscrit en
    février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Nom : Homme Loïc
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2011
    Messages : 813
    Points : 1 308
    Points
    1 308

    Par défaut

    Bonjour,
    Tu peux aussi utiliser la méthode addElement pour ajouter chacun de tes éléments, mais un par un.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •