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

  1. #1
    Nouveau Candidat au Club
    probleme Créer un module d'authentification avec inscription
    Bonjour Mr,

    SVP je veux Créer un module d'authentification avec inscription dont il est sur la page:
    http://imikado.developpez.com/tutori...t-googleMaps/#

    j'ai fais tous le etapes mais lors de m'inscrirt ds formulaire tjrs j'ai une erreur:


    ( ! ) Fatal error: Class 'row_member' not found in C:\wamp\www\mkframework_v4_129_0_r320\data\genere\projetBootstrap\module\auth\main.php on line 56
    Call Stack
    # Time Memory Function Location
    1 0.0020 142368 {main}( ) ...\index.php:0
    2 0.0070 287392 _root->run( ) ...\index.php:47
    3 0.0230 436632 module_auth->_inscription( ) ...\class_root.php:263



    mon main.php:


    <?php
    class module_auth extends abstract_module{
    protected $sClassRow='row_member';
    //longueur maximum du mot de passe
    private $maxPasswordLength=100;

    public function before(){
    //on active l'authentification
    _root::getAuth()->enable();

    $this->oLayout=new _layout('bootstrap');
    }

    public function _login(){

    $sMessage=$this->checkLoginPass();

    $oView=new _view('auth::login');
    $oView->sError=$sMessage;

    $this->oLayout->add('main',$oView);

    }
    private function checkLoginPass(){
    //si le formulaire n'est pas envoye on s'arrete la
    if(!_root::getRequest()->isPost() ){
    return null;
    }

    $sLogin=_root::getParam('login');
    $sPassword=_root::getParam('password');

    if(strlen($sPassword) > $this->maxPasswordLength){
    return 'Mot de passe trop long';
    }

    //on stoque les mots de passe hashe dans la classe model_member
    $sHashPassword=model_member::getInstance()->hashPassword($sPassword);
    $tAccount=model_member::getInstance()->getListAccount();

    //on va verifier que l'on trouve dans le tableau retourne par notre model
    //l'entree $tAccount[ login ][ mot de passe hashe ]
    if(!_root::getAuth()->checkLoginPass($tAccount,$sLogin,$sHashPassword)){
    return 'Mauvais login/mot de passe';
    }

    _root::redirect('contacte::index');
    }

    public function _inscription(){
    $tMessage=$this->processInscription();

    $oView=new _view('auth::inscription');
    $oView->tMessage=$tMessage;

    $oView->oUser=new row_member;

    $this->oLayout->add('main',$oView);
    }
    private function processInscription(){
    if(!_root::getRequest()->isPost()){
    return null;
    }

    $tAccount=model_member::getInstance()->getListAccount();

    $sLogin=_root::getParam('memb_username');
    $sPassword=_root::getParam('password');

    if($sPassword!=_root::getParam('password2')){
    return array('memb_username'=>array('Les deux mots de passe doivent etre identiques'));
    }elseif($sLogin==''){
    return array('memb_username'=>array('Vous devez remplir le nom d utilisateur'));
    }elseif($sPassword==''){
    return array('memb_username'=>array('Vous devez remplir le mot de passe'));
    }elseif(strlen($sPassword) > $this->maxPasswordLength){
    return array('memb_username'=>array('Mot de passe trop long'));
    }elseif(isset($tAccount[$sLogin]) ){
    return array('memb_username'=>array('Utilisateur déjà existant'));
    }

    $oMember=new row_member;
    $oMember->memb_username=$sLogin;
    $oMember->memb_password=model_member::getInstance()->hashPassword($sPassword);
    if($oMember->save()==false){

    return $oMember->getListError();

    }

    return array('success'=>array('Votre compte a bien été créé'));

    }

    public function _logout(){
    _root::getAuth()->logout();
    }

    public function after(){
    $this->oLayout->show();
    }
    }

  2. #2
    Rédacteur

    Bonjour,
    Vous pouvez verifier le fichier model/model_member.php

    contient-il bien la classe row_member ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. ###raw>post.musername###
    Rédacteur
    Je viens de refaire l'essai sur la derniere version disponible sur le site sans soucis

    le problème doit venir de votre fichier model_member.php

    pouvez-vous verifier qu'il contient bien (en bas)
    la classe row_member
    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
    class row_member extends abstract_row{
     
    	protected $sClassModel='model_member';
     
    	/*exemple jointure 
    	public function findAuteur(){
    		return model_auteur::getInstance()->findById($this->auteur_id);
    	}
    	*/
    	/*exemple test validation*/
    	private function getCheck(){
    		$oPluginValid=new plugin_valid($this->getTab());
     
     
    		/* renseigner vos check ici
    		$oPluginValid->isEqual('champ','valeurB','Le champ n\est pas &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isNotEqual('champ','valeurB','Le champ est &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isUpperThan('champ','valeurB','Le champ n\est pas sup&eacute; &agrave; '.$valeurB);
    		$oPluginValid->isUpperOrEqualThan('champ','valeurB','Le champ n\est pas sup&eacute; ou &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isLowerThan('champ','valeurB','Le champ n\est pas inf&eacute;rieur &agrave; '.$valeurB);
    		$oPluginValid->isLowerOrEqualThan('champ','valeurB','Le champ n\est pas inf&eacute;rieur ou &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isEmpty('champ','Le champ n\'est pas vide');
    		$oPluginValid->isNotEmpty('champ','Le champ ne doit pas &ecirc;tre vide');
    		$oPluginValid->isEmailValid('champ','L\email est invalide');
    		$oPluginValid->matchExpression('champ','/[0-9]/','Le champ n\'est pas au bon format');
    		$oPluginValid->notMatchExpression('champ','/[a-zA-Z]/','Le champ ne doit pas &ecirc;tre a ce format');
    		*/
     
    		return $oPluginValid;
    	}
     
    	public function isValid(){
    		return $this->getCheck()->isValid();
    	}
    	public function getListError(){
    		return $this->getCheck()->getListError();
    	}
    	public function save(){
    		if(!$this->isValid()){
    			return false;
    		}
    		parent::save();
    		return true;
    	}
     
    }
      0  0

###raw>template_hook.ano_emploi###