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

Zend_Form PHP Discussion :

zend form sans mvc snif galere [ZF 1.7]


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut zend form sans mvc snif galere
    Salut a tous

    Je cherche a faire un formulaire d'authentication en php/zend mais sans mvc...
    jai donc reussi a afficher mon form mais voila je narrive pas a manipuler les functions : isValid(post) and getvalues...

    Avez vous deja fait un form sans mvc?

    Merci davance
    Sandrine

  2. #2
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Par défaut
    Salut, j'ai une action avec deux méthoes = login et logout
    Voici mon bout de code il te serra sûrement utile:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    <?php
    class AuthController extends Zend_Controller_Action {
    	function init() {
    		$this->initView ();
    		$this->view->baseUrl = $this->_request->getBaseUrl ();
    	}
     
    	function indexAction() {
    		$this->_redirect ( '/' );
    	}
    	function loginAction() {
    		$this->view->message = '';
     
    		$user = Zend_Auth::getInstance ()->getIdentity ();
    		if (isset($user->username)) {
    			$this->_redirect ( '/' );
    		}
     
    		$form = $this->formulaire();
    		if ($this->_request->isPost () && $form->isValid ( $this->_request->getPost () )) {
    			// collect the data from the user
    			Zend_Loader::loadClass ( 'Zend_Filter_StripTags' );
    			$f = new Zend_Filter_StripTags ( );
    			$username = $f->filter ( $this->_request->getPost ( 'username' ) );
    			$password = $f->filter ( $this->_request->getPost ( 'password' ) );
    			// setup Zend_Auth adapter for a database table
    			Zend_Loader::loadClass ( 'Zend_Auth_Adapter_DbTable' );
    			$dbAdapter = Zend_Registry::get ( 'dbAdapter' );
    			$authAdapter = new Zend_Auth_Adapter_DbTable ( $dbAdapter );
    			$authAdapter->setTableName ( 'utilisateurs' );
    			$authAdapter->setIdentityColumn ( 'username' );
    			$authAdapter->setCredentialColumn ( 'password' );
    			$authAdapter->setCredentialTreatment ( 'MD5(?) AND grade = "1"' );
     
    			// Set the input credential values to authenticate against
    			$authAdapter->setIdentity ( $username );
    			$authAdapter->setCredential ( $password );
     
    			// do the authentication
    			$auth = Zend_Auth::getInstance ();
    			$result = $auth->authenticate ( $authAdapter );
     
    			if ($result->isValid ()) {
    				// success: store database row to auth's storage
    				// system. (Not the password though!)
    				$data = $authAdapter->getResultRowObject ( null, 'password' );
    				$auth->getStorage ()->write ( $data );
    				$this->_redirect ( '/' );
    			} else {
    				// failure: clear database row from session
    				switch ($result->getCode ()) {
    					case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND :
    						/** l'identifiant n'existe pas **/
    						$this->view->message = "l'identifiant n'existe pas.";
    						break;
     
    					case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID :
    						/** mauvaise authentification **/
    						$this->view->message = 'Mauvais mot de passe.';
    						break;
    					default :
    						/** autres cas **/
    						$this->view->message = 'Erreur authentification.';
    						break;
    				}
    			}
     
    		}
    		$this->view->form = $form;
    		$this->view->title = "Log in";
    		$this->render ();
    	}
     
    	function logoutAction() {
    		Zend_Auth::getInstance()->clearIdentity();
    		$this->_redirect ( '/' );
     
    	}
     
    	private function formulaire() {
     
    		$form = new Zend_Form ();
    		$form->setName ( 'Login' )->setMethod ( 'post' );
    		$form->setAttrib ( 'enctype', 'multipart/form-data' );
     
    		$loginname = new Zend_Form_Element_Text ( 'username' );
    		$loginname->setLabel ( 'Login' );
    		$loginname->setRequired ( true );
    		$loginname->addValidator ( 'NotEmpty' );
    		$loginname->addFilter ( 'StripTags' )->addFilter ( 'StringTrim' );
    		$form->addElement ( $loginname );
     
    		$loginpassword = new Zend_Form_Element_Password ( 'password' );
    		$loginpassword->setLabel ( 'Password' );
    		$loginpassword->setRequired ( true );
    		$loginpassword->addValidator ( 'NotEmpty' );
    		$loginpassword->addFilter ( 'StripTags' )->addFilter ( 'StringTrim' );
    		$form->addElement ( $loginpassword );
     
    		// le bouton envoi
    		$submit = new Zend_Form_Element_Submit ( 'submit' );
    		$submit->setAttrib ( 'id', 'submitbutton' );
    		$form->addElement ( $submit );
     
    		return $form;
    	}
     
     
    }

  3. #3
    Membre éclairé
    Inscrit en
    Février 2004
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 279
    Par défaut
    Merci beaucoup.

    J'ai deja fait le form et auth avec zend en modele MVC mais la j'avoue que sans MVC... c'etait un peu plus complique.

    Pour l'instant jai fait moi meme ma fonction isValid()
    qui appele pour chaque valeur dans mon form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private function ValidAlpha($var){
    		$validation= new Zend_Validate_Alnum();
    		return $validation->isValid($var);
    	}
    	private function ValidEmpty($var){
    		$validation= new Zend_Validate_NotEmpty();
    		return $validation->isValid($var);
    	}
    	private function ValidLength($var){
     
    		$validation=  new Zend_Validate_StringLength(3, 32);
    		return $validation->isValid($var);
    	}
    ...

  4. #4
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    quand tu fait un
    il faut juste que tu passe un tableau a la method isValid, je ne vois pas le problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. [ZF 1.8] Zend Paginator, sans MVC
    Par miboo dans le forum Autres composants
    Réponses: 4
    Dernier message: 19/05/2009, 10h30
  3. [C#]Afficher une forme sans qu'elle se ferme
    Par gilles641 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/03/2006, 12h25
  4. Déplacer une Form sans barre de titre
    Par stigma dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/02/2006, 13h45
  5. [VB6] Déplacer la form sans cliquer sur la barre de titre
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/11/2002, 02h09

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