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 qui ne fonctionne pas tout le temps


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut _POST qui ne fonctionne pas tout le temps
    Bonjour,

    J'ai un petit probleme, j'ai en fait deux liste déroulantes lors d'un choix sur la première la seconde est mise à jour (par ajax).

    Une fois sélectionnée, j'appuie sur un bouton pour envoyer le formulaire.
    Cependant lorsque j'essaye de récupérer une valeur de la page précedente avec la méthode POST ($titre = $_POST['hotels'] ca ne fonctionne pas( undefined valeur hotels...)

    J'ai donc essayé la même manipulation sans modifiée la liste et la ca fonctionne bien...

    Avez vous une solution ?

    Voici le code départ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    echo '<div id="hotels"><center>';
    echo '<select name="hotels" onchange="ShowPage(\'change_nom_hotel.php?nom=\' + this.options[this.selectedIndex].value,\'nom_hotel\');">';
    echo '<option selected>Sélectionnez votre hôtel</option>';
    $result = mysql_db_query($dbname,"SELECT nom FROM infos_hotel GROUP BY nom;");
    	if ($result > 0){
    		while($row = mysql_fetch_array($result)) {
    			echo '<option>'.$row["nom"].'</option>';
    		} 
    	}
    echo '</select></center>';
    echo '</div>';
    mysql_close($conn);
    le code ajax qui remplace ma liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    echo '<div id="hotels"><center>';
    echo '<select name="hotels" onchange="ShowPage(\'change_nom_hotel.php?nom=\' + this.options[this.selectedIndex].value,\'nom_hotel\');">';
    $ligne = encode_to_utf8("Sélectionnez votre hôtel");
    echo '<option selected>'.$ligne.'</option>';
    $result = mysql_db_query($dbname,"SELECT * FROM infos_hotel WHERE departement='$departement' GROUP BY nom;");
    	if ($result > 0){
    		while($row = mysql_fetch_array($result)) {
    			$nom_BDD = encode_to_utf8($row["nom"]);
    			echo '<option>'.$nom_BDD.'</option>';
    		}
    	}
    echo '</select></center>';
    echo '</div>';

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    L'url passée semble être change_nom_hotel.php?nom=toto
    Essayes alors un $titre = $_GET['nom'];



    [edit]

    J'ai donc essayé la même manipulation sans modifiée la liste et la ca fonctionne bien...
    beuh... ma solution ne fonctionne pas alors...
    je continue de chercher

    [/edit]

  3. #3
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonsoir,
    Essaye de rajouter une "value" dans la balise <option> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$row["nom"].'" >'.$row["nom"].'</option>';

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Je viens d'essayer mais j'ai toujours la même erreur !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Sachant que j'ai rechargé un morceau de la page j'ai l'impression que je n'arrive plus a avoir accès a cette partie!

    j'ai fais des tests en Javascript simplement pour récupérer la valeur, cependant je récupére toujours la valeur avant le changement de la liste. J'ai donc l'impression que la liste n'est pas correctement remplacé et qu'il travaille toujours avec l'ancienne.

    Avez vous des solutions ?

    Merci de votre aide

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Bonjour.

    Je ne vois vraiment pas. Il y a malgré tout une fonction dont je ne comprends pas l'intérêt dans ce script : encode_to_utf8

    Pourquoi l'avoir mise dans le code ajax et pas dans le code de départ ?

    Si tu la supprimes du code ajax aux deux endroits où on la trouve ? Ça fait quoi ?

    Pour le <option value="..."> c'est vrai que c'est bien mieux de le mettre, mais par défaut, si il n'y a pas de value="..." la valeur prise est celle entre <option> et </option>.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    La fonction permet de gérer correctement les accents qui peuvent se trouver dans les noms récupérés dans la base de données.

    j'ai testé sans cette ligne j'ai toujours la même erreur.

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Citation Envoyé par johnson95 Voir le message
    j'ai toujours la même erreur.
    Et quelle est donc cette erreur ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    "Undefined variable hotel at line 10" (cette erreur survient uniquement lorsque je fais la modification du composant "select" en Ajax)

    En fait je n'arrive pas a récupérer par méthode POST le composant "select" que j'ai modifié avec ajax.

    Merci de votre aide!

Discussions similaires

  1. Fonction Reset qui ne fonctionne pas tout le temps
    Par darkterreur dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/03/2012, 09h11
  2. TRegistry qui ne fonctionne pas à tout les coups
    Par davels dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/05/2011, 02h00
  3. Réponses: 6
    Dernier message: 21/12/2010, 20h00
  4. Réponses: 2
    Dernier message: 16/03/2010, 09h49
  5. [AJAX] script ajax qui fonctionne pas tout le temps
    Par krfa1 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/05/2007, 11h12

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