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 :

probleme sur 2 variables issues d'une table $_POST


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut probleme sur 2 variables issues d'une table $_POST
    Bonjour,et merci a ceux qui me repondront.
    debutant en php mais pas en programmation, je suis confronte a la recuperation de 2 variables issues d'une meme
    base de donnees dans une meme page .Le souci que je rencontre est que ma 1° variable issue d'une requete est recuperee par $_POST apres un submit mais est effacee par une 2° variable recuperee de la meme facon.Apres avoir parcouru de nombreux forums, je n'ai pas trouver la solution .On me dit que les $_POST s'ecrasent.
    j'ai cree un base de donnees gsp0 avec une table pole et avec un champ libpoint qui contient des nom de ville.
    Le but de mon formulaire est de recuperer 2 villes differentes de cette base pour pouvoir les passer via des variables, sur une base oracle qui pourrait me donner par exemple, les distances.
    Mais ce sera la suite, si j'arrive a bien isoler ces 2 variables pour les passer en parametres.
    Je vous passe mon code pour avis.
    Le code sera plus lisible avec notepad++

    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
    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
    <HTML>
    <BODY>
    <form action="" method="post" name="pole">
    <!-- premier pole -->
    <p>
    <br><br><br><br>
    <table width="40%" border="2" cellspacing="0" cellpadding="0">
      <tr>
        <td>Choisissez le 1° Pole  </td>
        <td width="40%">
    	<select name="pole" center font-family: Arial;font-size: 8px>			  
                   <?php
    		// requête sql
     
    		$base =mysql_connect "localhost", "root", "");  
    		mysql_select_db ("gsp0", $base);
    		$sql = "SELECT libpoint FROM `pole` order by libpoint";
    		// on sélectionne toutes les entrées de la table
    		$req=mysql_query($sql) or die'ErreurSQL !'.$sql.'<br>'.mysql_error());
    		//On affiche ces entrées
    		while($data = mysql_fetch_array($req))
    		{					
    		print '<option value='.$data['libpoint'].'>'.$data['libpoint'].' '.'</option>';	
    		}
         	                mysql_close();  // on ferme la connexion
            	?>
    	<input type='submit' value =' Valider'>
    	</select>				
         </td>
      </tr>
    </table>						
    <br>
     
    <?php
     
    // on confirme a l'ecran la 1° ville choisie
    if(isset($_POST)) 
    {foreach($_POST as $key=>$lib1) 
    {echo $lib1.'<p>';}    //$lib1=ville choisie dans la premiere liste deroulante
    }
    ?>
    </p>
    </form>
    </BODY>
    </HTML>
     
    <!--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
     
    <!-- deuxieme pole -->
    <HTML>
    <BODY>
    <form action="" method="post" name="pole2">
     
    <p>
    <br><br><br><br>
    <table width="40%" border="2" cellspacing="0" cellpadding="0">
      <tr>
        <td>Choisissez le 2° Pole  </td>
        <td width="40%">
         <select name="pole2" center font-family: Arial;font-size: 8px>
    	<?php
    	// requête sql
    	$base2 = mysql_connect ("localhost", "root", "");  
    	mysql_select_db ("gsp0", $base2);
    	$sql2 = "SELECT libpoint FROM `pole` order by libpoint";
    	// on sélectionne toutes les entrées de la table
    	$req2=mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
                   //On affiche ces entrées
    	while($data2 = mysql_fetch_array($req2))
    	{					
    	print '<option value='.$data2['libpoint'].'>'.$data2['libpoint'].' '.'</option>';	
    	}
    	mysql_close();  // on ferme la connexion
    	?>
    	<input type='submit' value =' Valider'>
           </select>				
      </td>
      </tr>
    </table>						
    <br>
     
     
    <?php
    // on confirme a l'ecran la 2° ville choisie     mais le submit ecrase $lib1 par $lib2
    if(isset($_POST)) 
    {foreach($_POST as $key=>$lib2) 
    { echo $lib2.'<p>';}   //$lib2=ville choisie dans la deuxieme liste deroulante
    }
    ?>
    </p>
     
    </form>
    </BODY>
    </HTML>
    <!-- LE PROBLEME EST QUE $LIB1=$LIB2 QUE FAIRE???

  2. #2
    Membre régulier Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    et comme ça ?

    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
    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
    <HTML>
    <BODY>
    <form action="pole2.php" method="post" name="pole">
    <!-- premier pole -->
    <p>
    <br><br><br><br>
    <table width="40%" border="2" cellspacing="0" cellpadding="0">
      <tr>
        <td>Choisissez le 1° Pole  </td>
        <td width="40%">
    	<select name="pole1">			  
                   <?php
    		// requête sql
     
    		$base =mysql_connect "localhost", "root", "");  
    		mysql_select_db ("gsp0", $base);
    		$sql = "SELECT libpoint FROM `pole` order by libpoint";
    		// on sélectionne toutes les entrées de la table
    		$req=mysql_query($sql) or die'ErreurSQL !'.$sql.'<br>'.mysql_error());
    		//On affiche ces entrées
    		while($data = mysql_fetch_array($req))
    		{					
    		print '<option value='.$data['libpoint'].'>'.$data['libpoint'].' '.'</option>';	
    		}
         	                mysql_close();  // on ferme la connexion
            	?>
    	<input type='submit' value =' Valider'>
    	</select>				
         </td>
      </tr>
    </table>						
    <br>
     
     
    </p>
    </form>
    </BODY>
    </HTML>
     
    <<!-- -------------------- POLE2.PHP ----------------------------------->
     
     
     
    <HTML>
    <BODY>
    <form action="pole3.php" method="post" name="pole2">
     
    <p>
    <br><br><br><br>
    <table width="40%" border="2" cellspacing="0" cellpadding="0">
      <tr>
        <td>Choisissez le 2° Pole  </td>
        <td width="40%">
    	<input name="pole1" type="hidden" value="<?=$_POST['pole1']?>">
         <select name="pole2">
    	<?php
    	// requête sql
    	$base2 = mysql_connect ("localhost", "root", "");  
    	mysql_select_db ("gsp0", $base2);
    	$sql2 = "SELECT libpoint FROM `pole` order by libpoint";
    	// on sélectionne toutes les entrées de la table
    	$req2=mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
                   //On affiche ces entrées
    	while($data2 = mysql_fetch_array($req2))
    	{					
    	print '<option value='.$data2['libpoint'].'>'.$data2['libpoint'].' '.'</option>';	
    	}
    	mysql_close();  // on ferme la connexion
    	?>
    	<input type='submit' value =' Valider'>
           </select>				
      </td>
      </tr>
    </table>						
    <br>
    </form>
    </BODY>
    </HTML> 
     
    <!-- -------------------- POLE3.PHP ----------------------------------->
     
     <HTML>
    <BODY>
    <?php
    echo $_POST['pole1'].":".$_POST['pole2'];
     
    ?>
     
    </BODY>
    </HTML>

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    tu fait un seul formulaire avec 2listes déroulantes ou une liste a choix multiples

    http://julp.developpez.com/php/formulaires/
    Stay in Bed .. Save Energy

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Salut,
    quand tu passes au deuxième formulaire, tu dois lui transmettre le pole1 en paramètre et le transmettre via un input de type hidden au deuxième code 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
     
    form1.html
    ...
    <form action="php1.php" method="post">
    <select name="pole1">
    ...
     
    php1.php : 
    <?php
    $pole1 = $_POST[pole1];
    ...
    //appel du deuxième formulaire avec pole1 en paramètre : 
    header("Location: http://monsite/form2.php?pole1=$pole1");
    ?>
     
    form2.php : 
    <?php
    $pole1 = $_GET[pole1];
    ?>
     
    <html>
    ...
    <form action="php2.php" method="post">
    <input type="hidden" value="<?php echo $pole1; ?>" />
    ...
     
     
     
    <select name="pole2">
    ....
     
    php2.php : 
    <?php
    $pole1 = $_POST[pole1];
    $pole2 = $_POST[pole2];
     
    ....
     
    ?>
    Voilà, j'espère avoir été clair.

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/07/2014, 16h51
  2. probleme sur un appli partagée avec une table liée
    Par t8024328 dans le forum Sécurité
    Réponses: 2
    Dernier message: 18/09/2007, 11h42
  3. [MySQL] Récupérer 2 variables issues d'une boite liste
    Par alain31tl dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/03/2006, 04h17
  4. [SGBD] [MySQL] Problème de mise à jour d'une table
    Par philippef dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/01/2006, 15h42
  5. Affectation sur un champ vide d'une table Access
    Par kurkaine dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/11/2005, 09h14

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