Bonjour,
J'ai un petit probleme avec un code ajax:
Ce code effectue une requete php en post, le probleme, c'est qu'il n'arrive jamais dans la condition où je test le onreadystatchange.
Voici le code ajax:

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
<script type="text/javascript">
<!--
function change() {
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('temps').innerHTML = xhr.responseText;
}
}
xhr.open("POST","construction.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("&pseudo="+pseudo);
}
//-->
</script>
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
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("jeu");
 
$pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
 
$retour2 = mysql_query("SELECT * FROM construction WHERE pseudo = '$pseudo'")or die(mysql_error());
$donne2 = mysql_fetch_array($retour2);
 
$retour = mysql_query("SELECT * FROM ressource WHERE pseudo = '$pseudo'")or die(mysql_error());
$donne = mysql_fetch_array($retour);
 
if($donne2['temps'] > 0) {
?>
<script type="text/javascript">
<!--
setInterval('change()', 1000);
//-->
</script>
<?php
echo '<p>Il reste <span id="temps">' . $donne2['restant'] . '</span> secondes avant la fin de la construction</p>';
}?>
Et la page construction.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
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("jeu");
 
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
 
$retour2 = mysql_query("SELECT * FROM construction WHERE pseudo = '$pseudo'")or die(mysql_error());
$donne2 = mysql_fetch_array($retour2);
 
if($donne2['restant'] <= 0) {
echo '<p>Construction terminée</p>';
mysql_query("UPDATE construction SET temps = 0, restant = 0, encours = 'rien' WHERE pseudo = '$pseudo'")or die(mysql_error());
}
else {
$timestamp = $donne2['temps'];
$new_timestamp = time();
$temps = $new_timestamp - $timestamp;
$new_temps = $donne2['restant'] - $temps;
mysql_query("UPDATE construction SET restant = $new_temps WHERE pseudo = '$pseudo'")or die(mysql_error());
 
echo $new_temps;
}
?>
Je tiens aussi qu'avant que j'ai mis ce kit graphique, le code marhait tres bien.

Quelqu'un sait il d'ou vient le probme???

Merci d'avance