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>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 <?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>'; }?>
Je tiens aussi qu'avant que j'ai mis ce kit graphique, le code marhait tres bien.
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; } ?>
Quelqu'un sait il d'ou vient le probme???
Merci d'avance
Partager