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 sur la connexion avec le module d'authentification avec inscription


Sujet :

MkFramework

  1. #1
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut probleme sur la connexion avec le module d'authentification avec inscription
    bonjour à vous

    cela fait 5 jours que je me forme à ce framework. en suivant le tuto 5 sur le module authentification
    je me suis heuté un un probleme.j arrive à bien creer mon module d'authentification avec inscription .
    j'inscris bel et bien un un user et le builder le hash et loge dans la BD, mais lorsque je veus m authentifier
    pour etre rediriger vers la page par defaut je recois tjr le mm message d'ereur "mot de passe trop long" .

    svp quel peut etre le PB.voici ma "table utilisateur" ds ma BD

    "
    --
    -- Structure de la table `utilisateur`
    --

    CREATE TABLE `utilisateur` (
    `id` int(11) NOT NULL auto_increment,
    `login` varchar(50) NOT NULL,
    `password` varchar(30) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    --
    -- Contenu de la table `utilisateur`
    --

    INSERT INTO `utilisateur` (`id`, `login`, `password`) VALUES
    (4, 'login', 'b35545c396f1851f24177d5f422168');
    "

    et le "main" de mon module "Authentifier"
    (C:\xampp\htdocs\mkframework_v4_125_3_r306\data\genere\Application\module\Authentifier\main.php)

    "
    <?php
    class module_Authentifier extends abstract_module{

    //longueur maximum du mot de passe
    private $maxPasswordLength=100;

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

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

    public function _login(){

    $sMessage=$this->checkLoginPass();

    $oView=new _view('Authentifier::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_utilisateur
    $sHashPassword=model_utilisateur::getInstance()->hashPassword($sPassword);
    $tAccount=model_utilisateur::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('default::index');
    }

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

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

    $oView->oUser=new row_utilisateur;

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

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

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

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

    $oUtilisateur=new row_utilisateur;
    $oUtilisateur->login=$sLogin;
    $oUtilisateur->password=model_utilisateur::getInstance()->hashPassword($sPassword);
    if($oUtilisateur->save()==false){

    return $oUtilisateur->getListError();

    }

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

    }

    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous avez un mot de passe de plus de 100 caractères ?
    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. #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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Attendez il y a une erreur dans le code suivant

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sLogin=_root::getParam('login');
    $sPassword=_root::getParam('password');
     
    if(strlen($sPassword > $this->maxPasswordLength)){
    return 'Mot de passe trop long';
    }

    rempacez par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sLogin=_root::getParam('login');
    $sPassword=_root::getParam('password');
     
    if(strlen($sPassword) > $this->maxPasswordLength){
    return 'Mot de passe trop long';
    }
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par imikado Voir le message
    Attendez il y a une erreur dans le code suivant

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sLogin=_root::getParam('login');
    $sPassword=_root::getParam('password');
     
    if(strlen($sPassword > $this->maxPasswordLength)){
    return 'Mot de passe trop long';
    }

    rempacez par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sLogin=_root::getParam('login');
    $sPassword=_root::getParam('password');
     
    if(strlen($sPassword) > $this->maxPasswordLength){
    return 'Mot de passe trop long';
    }
    partie A


    je l ai fait mais lorsque je veux me connecter je me hheurte encore à un autre message d'érreur

    Nom : message d erreur login.jpg
Affichages : 290
Taille : 97,5 Ko voici mon code de mon
    module Autentifier/Vue/login.php
    Code php : 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
     
    <form action="" method="POST">
     
    	<table >
    		<tr>
    			<th> Nom d'utilisateur :</th>
    			<td><input type="text" name="login" autocomplete="off" placeholder="Login..."/></td>
    		</tr>
    		<tr>
    			<th> Mot de passe :</th>
    			<td><input type="password" name="password" placeholder="Mot de passe..."/></td>
    		</tr>
    	</table>
     
    		<p align= "right"><input type="submit" value="CONNEXION" class="button blue" /> 
    			<a href="<?php echo _root::getLink('Authentifier::inscription')?>" class="button black "> S'inscrire </a>
    		</p>
     
    	<?php if($this->sError!=''):?>
    		<p style="color:red"><?php echo $this->sError?></p>
    	<?php endif;?>
    </form>



    et voici le
    main.php


    Code php : 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
     
    <?php
    class module_Authentifier extends abstract_module{
     
    	//longueur maximum du mot de passe
    	private $maxPasswordLength=100;
     
    	public function before(){
    		//on active l'authentification
    		_root::getAuth()->enable();
     
    		$this->oLayout=new _layout('template1');
    	}
     
    	public function _login(){
     
    		$sMessage=$this->checkLoginPass();
     
    		$oView=new _view('Authentifier::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');
     
    		/* on remplace le code par defaut " if(strlen($sPassword > $this->maxPasswordLength)) "
    			contre celui ci-dessous pour PHP 7...*/
    		if(strlen($sPassword) > $this->maxPasswordLength){
    			return 'Mot de passe trop long';
    		}
     
    		//on stoque les mots de passe hashe dans la classe model_utilisateur
    		$sHashPassword=model_utilisateur::getInstance()->hashPassword($sPassword);
    		$tAccount=model_utilisateur::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('default::index');
    	}
     
    	public function _inscription(){
    		$tMessage=$this->processInscription();
     
    		$oView=new _view('Authentifier::inscription');
    		$oView->tMessage=$tMessage;
     
    		$oView->oUser=new row_utilisateur;
     
    		$this->oLayout->add('main',$oView);
    	}
    	private function processInscription(){
    		if(!_root::getRequest()->isPost()){
    			return null;
    		}
     
    		$tAccount=model_utilisateur::getInstance()->getListAccount();
     
    		$sLogin=_root::getParam('login');
    		$sPassword=_root::getParam('password');
     
    		if($sPassword!=_root::getParam('password2')){
    			return array('login'=>array('Les deux mots de passe doivent etre identiques'));
    		}elseif($sLogin==''){
    			return array('login'=>array('Vous devez remplir le nom d utilisateur'));
    		}elseif($sPassword==''){
    			return array('login'=>array('Vous devez remplir le mot de passe'));
    		}elseif(strlen($sPassword) > $this->maxPasswordLength){
    			return array('login'=>array('Mot de passe trop long'));
    		}elseif(isset($tAccount[$sLogin]) ){
    			return array('login'=>array('Utilisateur d&eacute;j&agrave; existant'));
    		}
     
    		$oUtilisateur=new row_utilisateur;
    		$oUtilisateur->login=$sLogin;
    		$oUtilisateur->password=model_utilisateur::getInstance()->hashPassword($sPassword);
    		if($oUtilisateur->save()==false){
     
    			return $oUtilisateur->getListError();
     
    		}
     
    		return array('success'=>array('Votre compte a bien &eacute;t&eacute; cr&eacute;&eacute;'));
     
    	}
     
    	public function _logout(){
    		_root::getAuth()->logout();
    	}
     
    	public function after(){
    		$this->oLayout->show();
    	}
    }

    où est l'erreur/probleme stp ?


    partie B


    1- je n'arrive pas à mettre le
    placeholder
    ds la zonne de saisie de texte
    nom d'utilisateur
    ds le formulaire de login ci-dessus

    comment faire ?

    2- le message d'érreur du
    module anthentifier/vue inscription.php
    s'affiche en dessous de la zonne de saisie de texte et il déforme le visuel du formulaire.

    image: Nom : message  inscription.jpg
Affichages : 228
Taille : 109,6 Ko

    code inscription.php

    Code php : 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
     
      <h1 align="center"><u> INSCRIPTION </u></h1>
     
    <?php $oForm=new plugin_form($this->oUser);
    $oForm->setMessage($this->tMessage);
    ?>
    <form action="" method="POST">
       <table class="tb_new">
               <tr>
                   <th> Nom d'utilisateur :</th>
                   <td><?php echo $oForm->getInputText('login')?></td>
               </tr>
               <tr>
                   <th> Mot de passe :</th>
                   <td><input type="password" name="password" placeholder="Mot de passe"/></td>
               </tr>
               <tr>
                   <th> Confirmez le mot de passe :</th>
                   <td><input type="password" name="password2" placeholder="Confirmez le mot de passe"/></td>
               </tr>
     
       </table>
    	   <p align= "right">
    			<input type="submit" value="S'ENREGISTRER" class="button blue small"/> 
    			<a href="<?php echo _root::getLink('Authentifier::login')?>" class="button black small"> Page de Login </a> 
    	   </p>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p><?php echo implode($this->tMessage['success'])?> </p>
    <?php endif;?>
    </form>

    comment le configurer de manière à ce qu'il s'affiche au dessus de la zone de saisie ou de la table ?

    vivement que je puisse passer à autre chose.trop top Mkf

  5. #5
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour la partie A,
    vérifiez une chose toute bête: la longueur du champ contenant l'empreinte du mot de passe, le champ est peut etre trop court

    Vous pouvez essayez de générer le mot de passe "pass" par exemple et verifier que l'empreinte est la même en base de donnée (non tronquée)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  6. #6
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour la partie B

    Pour afficher un placeholder dans input
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $oForm->getInputText('login',array('placeholder'=>'votre placeholder'))?>
    Oui il y a un décalage en effet, vous pouvez modifier la manière par défaut dont sont affiché les messages d'erreus si vous le souhaitez en modifiant la classe plugin_form
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous pouvez également aligner verticalement votre libellé pour ne pas avoir ce décalage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table >
    		<tr>
    			<th style="vertical-align:top;"> Nom d'utilisateur :</th>
    			<td><?php echo $oForm->getInputText('login',array('placeholder'=>'votre placeholder'))?></td>
    		</tr>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  8. #8
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par imikado Voir le message
    Vous pouvez également aligner verticalement votre libellé pour ne pas avoir ce décalage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table >
    		<tr>
    			<th style="vertical-align:top;"> Nom d'utilisateur :</th>
    			<td><?php echo $oForm->getInputText('login',array('placeholder'=>'votre placeholder'))?></td>
    		</tr>

    partie A

    le PB n'est toujours pas résolu , j enregister comme mot de passe : "pass" qan je jette un coup d'oeil ds mysql , je vois une succession de chiffres et de nombres = 30 charactères comme l'indique la structure de ma table "utilisateur". le hashage peut il etre à l'origine?

    partie B

    oui mais je souhaite que les mesages s'affichent comme dans la "vue login" (cad en dessous du formulaire et en rouge)

  9. #9
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour la partie A,
    Dans model_user, il y a une méthode hashPassword,
    cette méthode retourne une empreinte du mot de passe: on ne stocke pas le mot de passe en clair en base de données

    il faut regardez le code inscrit et utiliser la même methode pour faire le hash de "pass", de mémoire c'est un appel à sha1 qui retourne une empreinte de 40 caractères

    Le problème vient donc de la, vous pouvez augmenter la taille de votre champ mot de passe.

    Partie B

    Vous pouvez recuperer, boucler et gerer vos messages d'erreus avec le tableau tMessage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php if($this->tMessage):?>
    <?php foreach($this->tMessage as $sChamp => $tError):?>
    <p class="error">Erreur sur : <?php echo $sChamp?>, <?php echo implode(',',$tError)?></p> 
    <?php endforeach;?>
    <?php endif;?>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par imikado Voir le message

    Partie B

    Vous pouvez recuperer, boucler et gerer vos messages d'erreus avec le tableau tMessage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php if($this->tMessage):?>
    <?php foreach($this->tMessage as $sChamp => $tError):?>
    <p class="error">Erreur sur : <?php echo $sChamp?>, <?php echo implode(',',$tError)?></p> 
    <?php endforeach;?>
    <?php endif;?>
    merci pour la
    partie A

    Enfait il falaist je définissent le nombre de caractère de la colonne "password" à varchar=40.
    et ca marche.

    partie B

    le ik est que cette boucle prend aussi en compte le message de succès,du coup je me retrouve avec 2 message de succes(un en rouge en haut et l'autre en vert en bas)
    hors ce que je souhaite avoir c'est:

    1-message d'erreur en rouge et en haut
    2-message de succès en vert en bas

    voila le code de ma "vue/inscription.php"

    Code php : 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
     
     
    <hr/>
     
    <?php 
    	$oForm=new plugin_form($this->oUser);
    	// $oForm->setMessage($this->tMessage);
    ?>
     
     
    <?php if($this->tMessage):?>
    <?php foreach($this->tMessage as $sChamp => $tError):?>
    	<p class="error"> NOTE ! </br> <?php echo implode(',',$tError)?> </p> 
    <?php endforeach;?>
    <?php endif;?>
     
     
    <form action="" method="POST">
    <fieldset>
    <legend> INSCRIPTION </legend>
       <table class="tb_new">
               <tr>
                   <th style="vertical-align:top;"> Nom d'utilisateur :</th>
                   <td><?php echo $oForm->getInputText('login',array('placeholder'=>'Nom d\'utilisateur'))?></td>
               </tr>
               <tr>
                   <th> Mot de passe :</th>
                   <td><input type="password" name="password" placeholder="Mot de passe..."/></td>
               </tr>
               <tr>
                   <th> Confirmez mot de passe :</th>
                   <td><input type="password" name="password2" placeholder="Confirmez mot de passe"/></td>
               </tr> 
     
       </table>
      <hr/><p align= "right">
    			<input type="submit" value="S'ENREGISTRER" class="button blue "/> 
    			<a href="<?php echo _root::getLink('Authentifier::login')?>" class="button black"> Page de Login </a> 
    	   </p><hr/>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p style="color:green; text-shadow: 2px 2px 4px green;">
    	<?php echo implode($this->tMessage['success'])?> 
      </p> 
    <?php endif;?>
     
    </fieldset>
    </form>

  11. #11
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Si il faut gerer 2 types de message, il faut modifier la methode processInscription en conséquence pour retourner un status ok/nok
    ainsi vous indiquerez à la vue d'afficher soit les messages d'erreurs (si nok) ou que le message en vert si ok

    Vous pouvez poster votre méthode inscription et processInscription ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #12
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par imikado Voir le message
    Si il faut gerer 2 types de message, il faut modifier la methode processInscription en conséquence pour retourner un status ok/nok
    ainsi vous indiquerez à la vue d'afficher soit les messages d'erreurs (si nok) ou que le message en vert si ok

    Vous pouvez poster votre méthode inscription et processInscription ?

    ma mathode "processInscription" comme demandé

    Code php : 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
     
     
    private function processInscription(){
    		if(!_root::getRequest()->isPost()){
    			return null;
    		}
     
    		$tAccount=model_utilisateur::getInstance()->getListAccount();
     
    		$sLogin=_root::getParam('login');
    		$sPassword=_root::getParam('password');
     
    		if($sPassword!=_root::getParam('password2')){
    			return array('login'=>array('Les deux mots de passe doivent etre identiques'));
    		}elseif($sLogin==''){
    			return array('login'=>array('Vous devez remplir le nom d utilisateur'));
    		}elseif($sPassword==''){
    			return array('login'=>array('Vous devez remplir le mot de passe'));
    		}elseif(strlen($sPassword) > $this->maxPasswordLength){
    			return array('login'=>array('Mot de passe trop long'));
    		}elseif(isset($tAccount[$sLogin]) ){
    			return array('login'=>array('Utilisateur d&eacute;j&agrave; existant'));
    		}
     
    		$oUtilisateur=new row_utilisateur;
    		$oUtilisateur->login=$sLogin;
    		$oUtilisateur->password=model_utilisateur::getInstance()->hashPassword($sPassword);
    		if($oUtilisateur->save()==false){
     
    			return $oUtilisateur->getListError();
     
    		}
     
    		return array('success'=>array('Votre compte a bien &eacute;t&eacute; cr&eacute;&eacute;'));
     
    	}

  13. #13
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous pouvez vous baser sur la clé "success" du tableau tMessage
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #14
    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 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Ce qui donnerait:
    On affiche le premier bloc que si c'est pass success, et on affiche le bloc vert que si sucess
    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
     
     
     
    <hr/>
     
    <?php 
    	$oForm=new plugin_form($this->oUser);
    	// $oForm->setMessage($this->tMessage);
    ?>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])==false):?>
    <?php foreach($this->tMessage as $sChamp => $tError):?>
    	<p class="error"> NOTE ! </br> <?php echo implode(',',$tError)?> </p> 
    <?php endforeach;?>
    <?php endif;?>
     
     
    <form action="" method="POST">
    <fieldset>
    <legend> INSCRIPTION </legend>
       <table class="tb_new">
               <tr>
                   <th style="vertical-align:top;"> Nom d'utilisateur :</th>
                   <td><?php echo $oForm->getInputText('login',array('placeholder'=>'Nom d\'utilisateur'))?></td>
               </tr>
               <tr>
                   <th> Mot de passe :</th>
                   <td><input type="password" name="password" placeholder="Mot de passe..."/></td>
               </tr>
               <tr>
                   <th> Confirmez mot de passe :</th>
                   <td><input type="password" name="password2" placeholder="Confirmez mot de passe"/></td>
               </tr> 
     
       </table>
      <hr/><p align= "right">
    			<input type="submit" value="S'ENREGISTRER" class="button blue "/> 
    			<a href="<?php echo _root::getLink('Authentifier::login')?>" class="button black"> Page de Login </a> 
    	   </p><hr/>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p style="color:green; text-shadow: 2px 2px 4px green;">
    	<?php echo implode($this->tMessage['success'])?> 
      </p> 
    <?php endif;?>
     
    </fieldset>
    </form>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #15
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par imikado Voir le message
    Ce qui donnerait:
    On affiche le premier bloc que si c'est pass success, et on affiche le bloc vert que si sucess
    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
     
     
     
    <hr/>
     
    <?php 
    	$oForm=new plugin_form($this->oUser);
    	// $oForm->setMessage($this->tMessage);
    ?>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])==false):?>
    <?php foreach($this->tMessage as $sChamp => $tError):?>
    	<p class="error"> NOTE ! </br> <?php echo implode(',',$tError)?> </p> 
    <?php endforeach;?>
    <?php endif;?>
     
     
    <form action="" method="POST">
    <fieldset>
    <legend> INSCRIPTION </legend>
       <table class="tb_new">
               <tr>
                   <th style="vertical-align:top;"> Nom d'utilisateur :</th>
                   <td><?php echo $oForm->getInputText('login',array('placeholder'=>'Nom d\'utilisateur'))?></td>
               </tr>
               <tr>
                   <th> Mot de passe :</th>
                   <td><input type="password" name="password" placeholder="Mot de passe..."/></td>
               </tr>
               <tr>
                   <th> Confirmez mot de passe :</th>
                   <td><input type="password" name="password2" placeholder="Confirmez mot de passe"/></td>
               </tr> 
     
       </table>
      <hr/><p align= "right">
    			<input type="submit" value="S'ENREGISTRER" class="button blue "/> 
    			<a href="<?php echo _root::getLink('Authentifier::login')?>" class="button black"> Page de Login </a> 
    	   </p><hr/>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p style="color:green; text-shadow: 2px 2px 4px green;">
    	<?php echo implode($this->tMessage['success'])?> 
      </p> 
    <?php endif;?>
     
    </fieldset>
    </form>

    ok
    je vie de le faire
    ca marche .merci bien tes indications sont magnifiques
    je vai passé à la creation des menus.

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

Discussions similaires

  1. probleme sur les exploitations de packages - modules
    Par fred213 dans le forum Général Python
    Réponses: 2
    Dernier message: 05/03/2015, 16h49
  2. Problème avec le module d'authentification
    Par devalender dans le forum MkFramework
    Réponses: 5
    Dernier message: 14/09/2014, 21h57
  3. Réponses: 0
    Dernier message: 17/04/2014, 11h46
  4. probleme sur une info bulle avec onMouseOver
    Par pouss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/02/2006, 09h40
  5. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51

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