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

Langage PHP Discussion :

$_POST ne récupère pas le choix d'une liste


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 16
    Points
    16
    Par défaut $_POST ne récupère pas le choix d'une liste


    pour cerner le contexte:

    je récupère par ajax et php une liste de données (une liste des villes),
    celle ci est alors construite dans un formulaire en faisant une boucle for, jusque là pas de problème (merci Bovino), j ai bien la liste de villes.

    Mon formulaire ainsi remplit, je désire le soumettre par la méthode POST,
    le problème se situe ici.
    En effet $_postt ne récupère pas correctement l'option sélectionnée,
    enfin juste la première option n'est pas récupérable, car si il y a plusieurs choix possible dans la liste , ceux ci sont récupérables.

    J'espère être compréhensible

    Bon place au code

    formulaire et recup ajax(JS)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var rep = xhr.responseText.split(";") ;
    		 //alert(xhr.responseText+'\n'+rep);
    		for (i=0; i< rep.length;i++){
    		document.getElementById('ville')[i] = new Option(rep[i],rep[i]);
     
    //liste deroulante
    <form id="form1" name="form1" method="post" action="formverif.php">
    <select name="ville" id ="ville"  style='width:128px;'>
    	<!--<option >Choisir un secteur</option>-->
    </select> </form>
    Voilà, en testant POST grâce à print_r($POST) , il y a quelque chose qu a partir de la deuxième option de la liste

    si quelqu'un à déjà rencontré ce problème il est le bienvenu...@+

  2. #2
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    C'est bizarre, chez moi le code suivant fonctionne correctement
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
    <?php
    print_r($_POST);
    ?>
    //liste deroulante
    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
    <select name="ville" id ="ville"  style='width:128px;'>
    	<!--<option >Choisir un secteur</option>-->
    </select> 
    <input type="submit" value="Go">
    </form>
    <script type="text/javascript">
        	var rep = new Array("ville1","ville2","ville3","ville4");
    		 //alert(xhr.responseText+'\n'+rep);
    		for (i=0; i< rep.length;i++){
    		document.getElementById('ville')[i] = new Option(rep[i],rep[i]);
    		}
        </script>
    </body>
    </html>
    Essaie de contrôler le résultat renvoyé par Ajax...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    en effet ton code marche bien!

    en fait on dirait que la reponse ajax renvoie le texte du premier élement mais les valeurs qu'à partir du deuxiéme.

    voilà comment je recupére les données, en créant un tableau des valeurs séparées par un ; puis ensuite on split pour afficher
    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
     
    <?php
    // Fichier testcp.php
    include ("connexion.php");
    $resultat='';
    if(isset($_POST['code'])or die (mysql_error()))  {
    	$AccesBase = mysql_connect($host,$username,$passSQL);
    	mysql_select_db($bdd,$AccesBase);
    	//$QuestionBase = ;($bdd, $QuestionBase)
    	$result = mysql_query ("SELECT ville FROM cpville  WHERE cp =".$_POST['code']."") or die (mysql_error());
    			while ($row = mysql_fetch_array($result)){
    			$resultat.=$row["ville"].";"; 
    			}
    			echo $resultat;			
    			}
    ?>

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 16
    Points
    16
    Par défaut
    Hop, je me réponds pour tagger en

    thème autocompletion code postal / ville
    alors formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <label class="label" >Saisir un code Postal</label> 
        <input type="text" size="5" name="code"  id="code" onkeyup="go()" /> 
     
    <label class="label"> commune associées </label>
     
    <div id="city">					
        <select  name="ville"  >
        </select>
    </div>
    puis fonction go() :

    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
     
    function go()
    			 {	
    			createHttpRequest()
    			 http_request.onreadystatechange = function(){
    			  if(http_request.readyState == 4 && http_request.status == 200){
     
    var rep= http_request.responseText;
    //alert(rep);
    document.getElementById('city').innerHTML = rep;
    }
    }
    var sel = document.getElementById("code").value;
    var url ="testcp.php";
    var mini = 5;
    if (sel.length >= mini ){
    http_request.open("POST",url,true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.send('code='+ document.getElementById("code").value);
    }	}
    requete sql par 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
     
    <?php
    // Fichier testcp.php
    include ("connexion.php");
    $resultat='';
    echo "<select name='ville' >";
    if(isset($_POST['code'])or die (mysql_error()))  {
    	$AccesBase = mysql_connect($host,$username,$passSQL);
    	mysql_select_db($bdd,$AccesBase);
    	$result = mysql_query ("SELECT * FROM cpville "
            $result.=" WHERE cp =".$_POST['code']."")   or die (mysql_error());
     
         while ($row = mysql_fetch_assoc($result)){
    	echo "<option value='".$row["id_cpville"]."'>".$row["ville"]."</option>";
         }
    }
     
    echo "</select>";
    ?>

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

Discussions similaires

  1. tJava ne récupère pas le contenu d'une table
    Par Sieur_Blabla dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 07/02/2013, 15h52
  2. Réponses: 5
    Dernier message: 21/07/2006, 11h21
  3. affichage selon le choix d'une liste déroulante
    Par cell dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/07/2006, 10h16
  4. Réponses: 2
    Dernier message: 30/06/2006, 16h46
  5. [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Par gailup dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/06/2006, 14h58

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