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
    Membre à l'essai
    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

    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

    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
    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

    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!='')<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    		<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:

    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']))<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
      <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

    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

    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

    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
    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

    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)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tMessage as $sChamp => $tError)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <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. ###raw>post.musername###
    Membre à l'essai
    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)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tMessage as $sChamp => $tError)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <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)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tMessage as $sChamp => $tError)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    	<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']))<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
      <p style="color:green; text-shadow: 2px 2px 4px green;">
    	<?php echo implode($this->tMessage['success'])?> 
      </p> 
    <?php endif;?>
     
    </fieldset>
    </form>
      0  0

  11. #11
    Rédacteur

    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
    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

    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. ###raw>post.musername###
    Rédacteur
    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)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tMessage as $sChamp => $tError)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    	<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']))<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
      <p style="color:green; text-shadow: 2px 2px 4px green;">
    	<?php echo implode($this->tMessage['success'])?> 
      </p> 
    <?php endif;?>
     
    </fieldset>
    </form>
      0  0

  15. ###raw>post.musername###
    Membre à l'essai
    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)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tMessage as $sChamp => $tError)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    	<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']))<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
      <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.
      0  0

###raw>template_hook.ano_emploi###