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

MkFramework Discussion :

probleme Créer un module d'authentification avec inscription


Sujet :

MkFramework

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut 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
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 098
    Points
    19 098
    Billets dans le blog
    17
    Par défaut
    Bonjour,
    Vous pouvez verifier le fichier model/model_member.php

    contient-il bien la classe row_member ?

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 098
    Points
    19 098
    Billets dans le blog
    17
    Par défaut
    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;
    	}
     
    }

Discussions similaires

  1. Réponses: 14
    Dernier message: 11/07/2016, 02h02
  2. Formulaire d'authentification avec inscription
    Par mouradduhall dans le forum MkFramework
    Réponses: 2
    Dernier message: 02/09/2015, 13h42
  3. Réponses: 0
    Dernier message: 17/04/2014, 11h46
  4. Réponses: 9
    Dernier message: 25/06/2008, 13h40
  5. probleme authentification avec cvs
    Par decksroy dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 13/09/2006, 14h52

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