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

PHP & Base de données Discussion :

Récupérer et GARDER une saisie d'une page [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut Récupérer et GARDER une saisie d'une page
    Sur un formulaire

    Dans une 1ere page, je sélectionne un nom et j’appui sur un bouton qui m’envoi sur page2.php.

    Je récupère le nom de ma sélection, seulement, dans cette 2eme page, j’ai aussi une liste, et quand je sélectionne dans cette liste, le nom sélectionné précédemment, disparait !

    Comment garder le nom en mémoire ??


    page1.php

    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
    <html>
    <head>
    <script language="javascript">
    function ap_selection()
    {
    	document.forms['form1'].submit(); 
    }
    </script>
    </head>
     
    <body>
    <form name="form1" method="post" action="">
     
    <?    
    	//connexion au serveur:
        $odbc = odbc_connect( 'exemple_selection' , 'root' , '') or die ("Impossible de se connecter &agrave; la bas de donn&eacute;e") ;
        //recherche sur table access
        $sql="select * from Demandeur order by Nom"; //remplace mysql_query
        //execution de la requete
        $requete = odbc_do($odbc,$sql) or die( odbc_error()); //execute la requete de connection au serveur et base donnee
     
    echo '<select name="user" onChange="ap_selection()">';
    echo '<option value="-1">Utilisateur</option>';
     
    while ($tab=odbc_fetch_array($requete))
    {$txt='';
    if (isset($_POST['user']))
    	 {if ($_POST['user']==$tab['Nom']){$txt='selected';} else { echo $txt='';}}
     
     
    echo '<option value="'.$tab['Nom'].'" '.$txt.'>'.$tab['Nom'].'</option>';
    }
    echo '</select>';
    ?>
      </form>
     
      <form name="form5" method="POST"  action="page2.php">
        <input type="submit" name="button" id="button" value="envoi du nom" />
     
        <input name="utilisateur"	type="hidden"  	value="<?php echo $user ;?>" /> 
     
      </form>
    </body>
    </html>

    page2.php

    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
    <html>
    <head>
    <script language="javascript">
    function toto()
    {
    var form1 = document.getElementById('form1');
    var form5 = document.getElementById('form5');
    var valeurtext = document.getElementById('text').value;
    //document.write(valeurtext);
    document.getElementById('text2').value = valeurtext;
    //alert('lol');
    document.forms['form1'].submit();
    }
    </script>
     
    </head>
    <body>
    <table width="391" border="1">
      <tr>
        <td>    
        <form name="form1" method="POST"  action="">
    <?   
    	$odbc = odbc_connect( 'exemple_selection' , 'root' , '') or die ("Impossible de se connecter &agrave; la bas de donn&eacute;e") ;
        $sql="select * from nom order by nom";		
        $requete = odbc_do($odbc,$sql) or die( odbc_error());
           $user=$_POST['utilisateur']; 
    		echo '<select name="nom" onChange="toto()">'; 
            echo '<option value="-1">Sélectionner un nom</option>'; 
                while ($resultat = odbc_fetch_array($requete))
                {$tx='';
                    if (isset($_POST['nom']))
                         {if ($_POST['nom']==$resultat['numero']){$tx=' selected ';}else{ echo $tx='';}}
                         echo '<option value="'.$resultat['numero'].'"'.$tx.'>'.$resultat['nom'].'</option>';
                }
            echo '</select>';
    	 	echo '<input type="hidden" name="text2" />';
     
    ?>
    	</form> </td>
      </tr><form name="form5" method="POST"  action="TOTO.php"> 
      <tr>
        <td><input type="text" 	name="text" id="text"  value="<?php echo $user ; ?>"/>
          <input type="submit" 	name="button" value="Envoyer"/>
    	</td>
      </tr>
    </form>
    </table>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si j'ai bien tout compris :
    - l'utilisateur choisis sur la premiere page un nom dans une liste.
    - sur la deuxieme page, il y a aussi une liste de noms et par defaut le nom est le meme que celui choisi precedemment (fait en javascript).

    et tu voudrais connaitre a la fois le premier nom choisi et le deuxieme ?

    ton premier nom choisi c'est $_POST['user'];
    Tu peux le conserver soit par session, soit par champ caché.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    C'est effectivement ça, mais voilà, étant débutant en PHP, je commencerais a mis perdre !!

    J’ai essayé des champs cachés, mais ce n’était pas très convainquant, et par session, je ne sais pas comment faire.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    comment ca "pas convaincant" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    Désolé du terme, je voulais dire, que je n'avais pas réussi

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="user" type="hidden" value="' . $_POST['user'] ."' />
    mais ca c'est bien sur si tu veux passer de la page 2 a encore une autre page.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    J’ai remplacé la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="hidden" name="text2" />';
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input name="user" type="hidden" value="' . $_POST['user'] ."' />’;
    Mon souci, c’est que ma fonction JavaScript, n’est plus utilisé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['form1'].submit();
    et justement, j'en ai besoin

  8. #8
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    J’ai tenté de gardé la valeur avec des champs cachés voilà le résultat :

    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
    51
    52
    53
    54
    55
    <html>
    <head>
    <script language="javascript">
    function toto()
    {
    var form1 = document.getElementById('form1');
    var form5 = document.getElementById('form5');
    var valeurtext = document.getElementById('text').value;
    var util = '<? echo $_POST['utilisateur']; ?>';
     
    document.getElementById('text2').value = valeurtext;
     
    document.getElementById('utilisateur2').value = util;
     
    document.forms['form1'].submit();
    }
    </script>
     
    </head>
    <body>
    <table width="391" border="1">
      <tr>
        <td>    
    <form name="form1" method="POST"  action="">
    <?   
    	$odbc = odbc_connect( 'exemple_selection' , 'root' , '') or die ("Impossible de se connecter &agrave; la bas de donn&eacute;e") ;
        $sql="select * from nom order by nom";		
        $requete = odbc_do($odbc,$sql) or die( odbc_error());
          $user=$_POST['utilisateur']; 
    		echo '<select name="nom" onChange="toto()">'; 
            echo '<option value="-1">Sélectionner un nom</option>'; 
                while ($resultat = odbc_fetch_array($requete))
                {$tx='';
                    if (isset($_POST['nom']))
                         {if ($_POST['nom']==$resultat['numero']){$tx=' selected ';}else{ echo $tx='';}}
                         echo '<option value="'.$resultat['numero'].'"'.$tx.'>'.$resultat['nom'].'</option>';
                }
            echo '</select>';
    	 	echo '<input name="text2" 	type="hidden" value="' . $_POST['user'] .'" />'; 
    		//echo '<input name="user" 	type="hidden" value="' . $_POST['user'] .'" />';//sabotage
     		echo '<input type="hidden" name="utilisateur2" />';
    ?>
    	</form> </td>
      </tr><form name="form5" method="POST"  action="TOTO.php"> 
      <tr>
        <td>
        <input type="text" 		name="text" 			value="<?php echo $user ; ?><? echo $_POST['utilisateur2']; ?>">
        <input type="hidden" 	name="text" id="text"  	value="<?php echo $_POST['utilisateur'] ; ?>"/>
        <input type="submit" 	name="button" 			value="Envoyer"/>
    	</td>
      </tr>
    </form>
    </table>
    </body>
    </html>
    au bout de 3 sélections, ma valeur qui était mise en mémoire, disparait, avez-vous une autre solutions, ou manque t’il quelque chose dans mon code ? Où sont mes erreurs ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Comment ca elle n'est plus utilisée ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    C'est comme si elle était mise à vide au bout de la 2eme recherches dans la sélection !

  11. #11
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    Finalement, j’ai changé de méthode, j’ai utilisé $_SESSION pour garder les valeurs.
    Et ça marche.

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

Discussions similaires

  1. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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