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 :

Affichage des valeurs de champs du plugin plugin_form


Sujet :

MkFramework

  1. #1
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut Affichage des valeurs de champs du plugin plugin_form
    Bonjour,

    Je rencontre une chose que je n'arrive pas à expliquer.
    Dans une vue qui doit afficher les données d'un objet,
    j'utilise le plugin "plugin_form".
    Voici un extrait de la vue :
    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
     
    $oForm=new plugin_form($this->oMk_auth);
    //$oForm->setMessage($this->tMessage);
    ?>
      <?php if($this->sError!=''):?>
    		<p style="color:red"><?php echo $this->sError?></p>
    	<?php endif;?>
     
    <form action="" method="POST">
     
    	<?php echo $oForm->getInputHidden ('user_id')?>
      <table class="tb_new">
        <tr>
    			<th class="th_new">Nom</th>
    			<td>
    			<?php if($this->oMk_auth->nom != ""):?>
            <?php echo $oForm->getInputText('nom')?>
            <?php else:?>
            <?php echo $oForm->getInputText('nom')?>
            <?php endif;?>
     
          </td>
    		</tr>
        <tr>
    			<th class="th_new">E-mail</th>
    			<td class="td_blanc">
    			<?php echo $oForm->getInputHidden ('email', array('value'=>$this->oMk_auth->email))?>
          <?php echo $this->oMk_auth->email ?>
          </td>
    		</tr>
    		<tr>
    			<th class="th_new">Actif</th>
    			<td class="td_blanc">
          <?php echo $oForm->getInputHidden ('actif')?>
          <?php echo $this->oMk_auth->actif ?>
          </td>
    		</tr>
    Voici le code html généré lors du premier lancement de la vue :
    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
     
    ...
    <tr>
    			<th class="th_new">Nom</th>
    			<td>
    			        <input type="text" name="nom" value="" />              
          </td>
    		</tr>
        <tr>
    			<th class="th_new">E-mail</th>
    			<td class="td_blanc">
    			<input type="hidden" name="email" value=""/>      a@gmail.com      </td>
    		</tr>
    		<tr>
    			<th class="th_new">Actif</th>
    			<td class="td_blanc">
          <input type="hidden" name="actif" value=""/>      non      </td>
    		</tr>
    Voici le code html généré lors du deuxième lancement de la vue :
    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
     
    ...
    <tr>
    			<th class="th_new">Nom</th>
    			<td>
    			        <input type="text" name="nom" value="Alain berna" />              
          </td>
    		</tr>
        <tr>
    			<th class="th_new">E-mail</th>
    			<td class="td_blanc">
    			<input type="hidden" name="email" value="a@gmail.com"/>      a@gmail.com      </td>
    		</tr>
    		<tr>
    			<th class="th_new">Actif</th>
    			<td class="td_blanc">
          <input type="hidden" name="actif" value="non"/>      non      </td>
    		</tr>
    Auriez-vous une explication, car comme vous le voyez, mon objet
    contient bien des données, car lorsque je ne fais pas appel à ce plugin "plugin_form"
    les données sont affichées dès la première fois du lancement de la vue.

    Cordialement

  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
    Pour le plugin plugin_form, il n'y a pas besoin de faire des if
    Remplacez:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php if($this->oMk_auth->nom != ""):?>
            <?php echo $oForm->getInputText('nom')?>
    <?php else:?>
            <?php echo $oForm->getInputText('nom')?>
    <?php endif;?>
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $oForm->getInputText('nom')?>

    Note: pouvez vous faire un addSpy au cas ou
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    plugin_debug::addSpy('oMkAuth',$this->oMk_auth);
    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
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Il y a toutes les données, mais les valeurs n'apparaissent pas dès le premier lancement, voici
    ci-dessous un Spy variables sur l'objet oMk_auth

    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
     
    oMkAuth
     
    row_mk_webusers Object
    (
        [sClassModel:protected] => model_mk_webusers
        [_bChooseUpdate:abstract_row:private] => 1
        [_tProperty:protected] => Array
            (
                [user_id] => 0000000004
                [nom] => Alain berna
                [email] => a@gmail.com
                [motdepasse] => 7616e9cf94f201c1e76ba7d41c17584ee59ec289
                [actif] => non
                [dateDeCreation] => 2014-11-04
                [privilege] => U
                [initiales] => 
            )
     
        [_tPropertyToUpdate:protected] => 
    )
    Cordialement

  4. #4
    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
    Pouvez-vous me copier le code de la classe main.php, car l'objet est ici bien renseigné, le formulaire devrait bien s'afficher sans avoir à gerer les "if"
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Je peux me tromper, mais d'après ce que j'observe,
    ce n'est pas la condition if qui permet d'afficher les données.
    Dans cette vue, j'ai utilisé la condition "if"
    seulement par mimétisme, car avant d'utiliser le "plugin_form", les exemples
    que vous fournissez sur les vues contenaient des conditions. Or ici on voit très bien
    que si on utilise autre chose que le "plugin_form", les données s'affichent.
    Exemple deux lignes côte à côte qui affichent l'identifiant de la personne connectée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php echo $oForm->getInputHidden ('user_id')?>
    <input type="hidden" name="user_id" value="<?php echo $this->oMk_auth->user_id ?>"/>
    ce qui donne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="hidden" name="user_id" value=""/>    
    <input type="hidden" name="user_id" value="0000000004"/>
    Je suis obligé de relancer la vue "_compte" une deuxième fois
    pour avoir enfin la valeur pour la première expression.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="hidden" name="user_id" value="0000000004"/>    
    <input type="hidden" name="user_id" value="0000000004"/>
    vous trouverez ci-dessous la méthode _compte du controleur main
    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
     
      public function _compte()
    	{
        /*
        // les codes message
    		"mlogin_001" = 'Ces initiales existent deja';
    		"mlogin_002" = 'Pas plus de 3 caractères pour les initiales';
    		"mlogin_003" = 'Mise à jour effectuée avec succès' ;
    		"mlogin_004" = "Nous sommes désolés, une erreur s'est produite" ;
    		"mlogin_005" = 'Veuillez saisir vos initiales' ;
    		"mlogin_006" = 'Mot de passe trop long';
    		"mlogin_007" = 'Mauvais login/mot de passe';
        */
        if(_root::getAuth()->isConnected())
        {
          //on recupere les donnees de la personne connectee
          $oMk_auth = model_mk_webusers::getInstance()->findById(_root::getAuth()->getAccount()->user_id );
     
          $sMessage=$this->checkLoginPass();
          if($sMessage != "mlogin_003")
          {
            $oView=new _view('mk_auth::compte');
        		$oView->oMk_auth = $oMk_auth ;
            $oView->sError=$sMessage;
     
        		$this->oLayout->add('main',$oView);
          }
          else
          {   
        		_root::redirect('default::index');
      		}
    		}
    		else
    		{
    		  $this->_login() ;
        }
      }
    Cordialement

  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
    Je viens de reproduire sur mon environnement

    Je me demande si le problème ne vient pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sMessage=$this->checkLoginPass();
    			if($sMessage != "mlogin_003")
    			{
    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
    Note: vous n'avez pas besoin de mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(_root::getAuth()->isConnected())
    		{
    Si, dans le fichier de configuration conf/site.ini.php, on a déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [auth]
    enabled=1
    class=plugin_auth
    module=mk_auth::login
    La vérification est faite dans le framework
    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
    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
    Je me demande comment ça se passe exactement

    Vous avez la page de login, et à quel moment la page _compte est appelé ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Au fait, dans ma méthode checkLoginPass(), je teste différents cas
    et en fonction de la situation, je renvoie un code message.

    Exemple, sur mon site, on peut s'inscrire et une fois inscrit
    on est invité à choisir des initiales et un nom, puis on attend
    (en pouvant visiter certaines pages)
    que son compte soit actif pour voir des pages supplémentaires du site.
    Dans le début de la fonction "_compte()", vous voyez les différents messages
    renvoyés par la fonction checkLoginPass().

    Donc la méthode "_compte()" est lancée lors de la méthode "_login()" dont ci-dessous
    vous trouverez son code
    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
     
      public function _login(){
     
    		if(_root::getAuth()->isConnected()) // si une authentification en cours
    		{
    		  $this->_logout() ;
        }
        $sMessage=$this->checkLoginPass();
     
        if($sMessage == "mlogin_005" ) //'Veuillez saisir vos initiales' ;
        {
          $this->_compte() ;
          //_root::redirect('mk_auth::compte');
        }
        else
        {
          $oView=new _view('mk_auth::login');
      		$oView->sError=$sMessage;
     
      		$this->oLayout->add('main',$oView);
        }
    	}
    Et pour l'histoire de la condition if(_root::getAuth()->isConnected()),
    je l'utilise dans le contrôleur main du module mk_auth
    car j'ai des vues qui peuvent être lancé en fonction du profile de l'utilisateur connecté
    ou sans être connecté. Il s'agit des vues
    simples qui informent l'utilisateur ou des rubriques spécifiques.

    Cordialement

  10. #10
    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 je comprends bien, à l'inscription, l'utilisateur à un status "temporaire"

    Ceci est gérable plus simplement avec la gestion de droits:
    Le groupe "en attente" a le droit de voir certaines pages
    le groupe "validé" a le droit de voir toutes les pages
    le gropue "admin" peut, quant à lui administrer les compte, valider les utilisateurs ...

    et ceci simplement, vous avez une vidéo sur le sujet Et pas de besoin de if connected ici, c'est facilement intégrable
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #11
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Je vais faire l'impasse sur l'utilisation du plugin "plugin_form" et continuer mon projet,
    je prendrai le temps de voir la vidéo sur le sujet, je pense qu'il sera facile à intégrer au projet par la suite.

    Merci de la patience que vous m'avez accordé, je ne vous remercierai jamais assez.

    Cordialement

  12. #12
    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
    Il y a cette vidéo qui pourrait vous aider:
    http://mkframework.com/podcasts_3.html

    avec le support ici: http://mkframework.com/podcastsTuto_3.html
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

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

Discussions similaires

  1. JSP : recuperation des valeurs de champs d'un formulaire
    Par keumlebarbare dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/01/2007, 11h16
  2. Réponses: 5
    Dernier message: 17/08/2006, 15h45
  3. [Cookies] Conserver des valeurs de champs
    Par Sergejack dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 12h17
  4. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 12h59
  5. Tri par la moyenne des valeurs de champs ?
    Par rozwel dans le forum Requêtes
    Réponses: 8
    Dernier message: 28/01/2005, 19h35

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