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
Partager