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

JavaScript Discussion :

[AJAX] requete sur une page php


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par d�faut [AJAX] requete sur une page php
    Bonjour,
    j'ai un petit probleme avec ajax, voila les codes:

    Code : JavaScript
    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
     
    function change(stat) {
    var xhr; // on déclare l'instance
    if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); // Firefox, Opera, Konqueror, Safari, ...
    else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP'); // Internet Explorer
    else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...'); // Navigateur ancien
     
    var pseudo = document.getElementById('pseudo').innerHTML;
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    document.getElementById(stat).innerHTML = xhr.responseText;
    }
    }
    xhr.open("GET","stat.php?stat="+stat+"£amp;pseudo="+pseudo,true);
    xhr.send(null);

    le reste de la page

    Code : HTML

    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
     
    if(isset($_SESSION['pseudo'])) {
    mysql_connect("localhost", "root", "");
    mysql_select_db("jeu");
     
    $pseudo = $_SESSION['pseudo'];
     
    $retour2 = mysql_query("SELECT * FROM statu WHERE pseudo='$pseudo'");
    $donne2 = mysql_fetch_array($retour2);
     
    echo'<p><h3 id="pseudo">' . $donne2['pseudo'] . '</h3>';
    echo 'Vous avez ' . $donne2['points'] . ' points à distribuer</p>';
    echo '<p>Pour ajouter un point de stat, cliquez sur les points existants du statut que vous voulez augmenter<br/><br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Force: Augmentez ce stat afin de faire plus dégats, et donc de gagner plus facilement les combats\';">Force</span>: <span onClick="change(force);">' . $donne2['force'] . '</span><br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Marchandage: Augmentez ce stat afin de gagner plus d argent lorsque vous vendez vos céréales\';">Marchandage</span>: ' . $donne2['marchandage'] . '<br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Chance: Augmentez ce stat pour augmenter votre gain dexperience à la fin d un combat\';">Chance</span>: ' . $donne2['chance'] . '<br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Travail: Augmentez ce stat pour produire plus vite et ainsi gagner des ressources plus rapidement\';">Travail</span>: ' . $donne2['travail'] . '<br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Maitrise des armes: Augmentez ce stat pour pouvoir équiper certaines armes\';">Maitrise des armes</span>: ' . $donne2['arme'] . '<br/>';
    echo '<span onMouseOver="document.getElementById(\'info\').innerHTML = \'Maitrise des armures: Augmentez ce stat pour pouvoir équiper certaines armures\';">Maitrise des armures</span>: ' . $donne2['armure'] . '<br/><br/>';
    echo '<input type="submit" value="valider"/>';
    echo '</p>';
     
    echo '<p id="info">Passez la souris sur un stat pour avoir sa description</p>';
     
    }
    else {
    echo '<p>Vous n\'etes pas autorisé à être sur cette page</p>';
    }
    ?>

    Et stat.php:

    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
     
     
    <?php
    if(isset($_GET['stat']) AND isset($_GET['pseudo']))
    {
    mysql_connect("localhost", "root", "");
    mysql_select_db("jeu");
     
    $pseudo = mysql_real_escape_string(htmlspecialchars($_GET['pseudo']));
     
    $retour2 = mysql_query("SELECT * FROM statu WHERE pseudo='$pseudo'");
    $donne2 = mysql_fetch_array($retour2);
    if($donne2['points'] > 0) {
    $stat = $_GET['stat'];
    $new_point = $donne2['points'] - 1;
    $new_stat = $donne2[$stat] + 1;
    mysql_query("UPDATE statu SET $stat = $new_stat, points = $new_point WHERE pseudo='$pseudo'");
    echo $new_stat;
    }
    else {
    echo 'points de stat insuffisants';
    }
    }
    ?>

    Donc quand je clique sur le 5 de force, rien ne se passe. Desol� e faire une si courte description, mais je vois pas trop quoi mettre d'autre...^^

    Donc si quelqu'un a une idee...

    Merci d'avance

    edit: ares quelques test, je sais maintenant que le probleme vient de responseText, il ne vaut rien

  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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    xhr.open("GET","stat.php?stat="+stat+"£amp;pseudo="+pseudo,true);
    Le �, c'est une faute de frappe ?
    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
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par d�faut
    Merci beaucoup de ta reponse.
    Malheursement ca ne marce toujours pas ouin!
    mais avant de continuer, j'aimerai avoir une petite precision:
    est il possible de dire a javascript que le contenu d'un p est un nombre, genre:
    j'ai les points de stat qui s'affiche dans une balise <p>, j'aimerai que mon code javascript decremente ce nombre, mais si j'essaye il me met que ce n'est pas un nombre, existe t il une fonction qui permettrai de faire ca???

    Encore merci

  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
    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
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par d�faut
    Ok encore merci, tu m'aides beaucoup^^
    Sinon toujours pas de solution pour mon code pr�c�dent? Au pire je passe direct par php, mais je preferai rester avec ajax

  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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if(isset($_GET['pseudo']))
    pseudo n'est pas une variable de session dans ce contexte, mais une variable du tableau GET !
    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

  7. #7
    Membre �prouv�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par d�faut
    Bonjour, je pense que tu n'envoies rien du tout .
    voici pour ma part � quoi ressemble mes code AJAX :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     xhr.open("POST","messagerie_ecrire.php",true);
             xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
             xhr.send("afficher=1&id="+id+"&pseudo="+pseudo);
    ton code va aller chercher la page
    'stat.php?stat="+stat+"�amp;pseudo="+pseudo'

    As-tu d�j� fais un include en php ? si cela marche pareil (jamais test� ta m�thode mais send(null) = aucune donn�es envoyer) tu ne peux chercher une page avec comme nom 'stat.php?stat="+stat+"�amp;pseudo="+pseudo'
    Car sur un serveur il est possible de nommer les pages ainsi, les param�tres en sont pas pris en compte.

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par d�faut
    bah si je met le send(null) cela veut dire que j'envoie les donn�es par methode GET.
    Mais je vais suivre ton conseil et essayer par un post.

    Merci beaucoup de votre aide

    edit:
    aillait ca marche!!!!
    je suis pass� paar psot, mais bizare que GET ne marche pas.
    En tout cas merci enormement � vous deux

    edit:
    Si vous passez, pouvez vous me dire ce qui ne va pas dans le code de l'update de la base de donn�e? Merci d'avance

  9. #9
    Membre �prouv�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par d�faut
    Bonsoir,

    une m�thode tr�s simple pour bien corriger les erreurs / warning de ses codes php, tout d'abord bien nommer les variables.
    Exemple :
    au lieu de $requete, $requete2
    $requetePersonnage, $requeteInventaire, fais en sorte de donner un sens aux noms de variables, c'est tr�s pratique lors que tu dois toucher � ton code dans 6 mois, ou que quelqu'un passe derri�re.

    De plus pour les requ�tes SQL, y'a un truc g�nial avec php,


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mysql_query("UPDATE statu SET $stat = $new_stat, points = $new_point WHERE pseudo='$pseudo'") or die(mysql_error());
    Le "mysql_error" va t'afficher l'erreur exacte de ta requ�te, si cela ne vient pas de ta requ�te, utilise "echo" suivit d'un "exit; il te permettera d'afficher des bout de code, donn�es, contenus, et de stoper la cr�ation de la page pour que tu vois ce qui cloche.

    GoT

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par d�faut
    Ok merci beaucoup je vais essayer.
    Mais pour cela je dois enlever ajax non?afin d'afficher l'erreur mysql;
    je vous tiens au courant^^

  11. #11
    Membre �prouv�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par d�faut
    Bonjour,

    Non il n'est pas necessaire d'enlever l'AJAX, �tant donn� que ajax va afficher le r�sultat de ton php, il affichera donc le r�sultat de ta requ�te, ou mysql_error si la syntaxe de ta requ�te est mauvaise.

    Tiens nous au courant

    GoT

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 25/06/2007, 12h10
  2. [AJAX] R�afficher d'une page php avec ajax
    Par red_nour dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 20/06/2007, 08h21
  3. Calcul temps pass� sur une page PHP pur
    Par mathieugamin dans le forum Langage
    R�ponses: 10
    Dernier message: 29/03/2007, 17h22
  4. R�ponses: 1
    Dernier message: 20/09/2006, 00h29
  5. Afficher un calendrier sur une page php
    Par griese dans le forum G�n�ral JavaScript
    R�ponses: 14
    Dernier message: 12/06/2006, 09h53

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