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