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

AJAX Discussion :

[AJAX] Méthode $_POST qui ne fonctionne pas


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut [AJAX] Méthode $_POST qui ne fonctionne pas
    Salut,

    La méthode $_POST ne fonctionne pas dans une fonction JavaScript

    Voici un extrait du code de ma page principale :
    Code php : 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
    ...
    <script language="javascript">
    function AjoutRelation()
    {
      if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.open("POST","relation.php", true);
    xmlhttp.send();
    }
    </script> 
    ...
    <?php
    $sql = "SELECT * FROM T_TABLE";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    echo "<select name='parent' size='10' onchange='AjoutRelation()'>";
    while($data = mysql_fetch_assoc($req))
    {
    echo "<option value=\"".$data['ID']."\">".htmlentities($data['LIB'])."</option>";
    }?>
    </select>
    <input type='button' value='Executer' />
    ...
    Et mon fichier relation.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    include "includes/config.php"; 
    $id1 = $_POST['mot'];
    $id2 = $_POST['parent'];
    $niv = 1;
    $tp = "Null";
    $sql = "INSERT INTO T_TABLE (ID1, ID2, NIV, TYPE) VALUES ('".$id1."', '".$id2."', '".$niv."', '".$tp."')";
    echo $sql;
    $req = mysql_query($sql);
    ?>
    Cela ne récupère pas les données issues des $_POST
    Une ligne est bien rajoutée mais avec la valeur 0 pour id1 et id2.

    Avez-vous une idée ou se trouve mon erreur ?

    @+.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu n'envoies aucune valeur, donc effectivement, tu ne peux pas les récupérer en PHP !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut
    Mais avec un POST, il ne doit pas y avoir de valeur, vu qu'il doit récupérer les valeurs de la page en cours

    @+.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut


    Envoyer une requête AJAX n'est pas la même chose que soumettre un formulaire.
    Lorsque tu soumets un formulaire, le navigateur sait qu'il faut associer à la requête les valeurs associées au formulaire que tu soumets, mais pour une requête AJAX, c'est à toi de dire quelles valeur est envoyée. Aucun formulaire n'est associé à une requête AJAX.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut
    Alors comment récupérer les deux valeurs qui sont dans la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id1 = $_POST['mot']; 
    $id2 = $_POST['parent'];
    Comme ceci : onchange='AjoutRelation(mot.value, this.value)'.

    @+.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben... en les envoyant !

    Pour parent, le plus simple est de lui donner un id (par exemple parent) et de récupérer sa valeur. Pour mot, il n'apparait pas dans ton code, donc je suppose qu'il s'agit aussi d'un input auquel on associe l'id idoine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlhttp.send('parent='+document.getElementById('parent').value+'&mot='+document.getElementById('mot').value);
    En fait, un peu comme indiqué dans n'importe quel tuto quoi...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/04/2011, 17h13
  2. [paramiko] méthode close qui ne fonctionne pas
    Par Balbuzard dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 13/03/2011, 19h59
  3. [AJAX] xmlhttprequest.send qui ne fonctionne pas avec une variable !
    Par hoaxpunk dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2009, 18h17
  4. Jquery/AJAX function click qui ne fonctionne pas.
    Par prome dans le forum jQuery
    Réponses: 2
    Dernier message: 12/03/2009, 12h57
  5. _POST qui ne fonctionne pas tout le temps
    Par johnson95 dans le forum Langage
    Réponses: 8
    Dernier message: 24/04/2008, 09h45

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