Bonjour,

Voici mon problème :
J'essaye de mettre en place un script permettant de mettre à jour une base de données dans un intervalle régulier.
J'utilise donc setInterval et XMLHttpRequest.
J'ai un fichier parallèle en php avec ma requête de mise à jour;
Le problème est que le readyState est bloqué à 2, donc la requête ne s'effectue jamais...
Si quelqu'un peut m'aider !

Mon 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
23
24
25
26
27
 
<script language="javascript">
	function Timer() {
	        if(window.XMLHttpRequest) // FIREFOX
	             xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject) // IE
		     xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
		     return(false);
		xhr_object.open("GET", "update_dateLastConnexion.php", true);
		xhr_object.setRequestHeader('Content-Type','application/x-www-form-*urlencoded');
		xhr_object.send(null);
		xhr_object.onreadystatechange = function() { 
		if(xhr_object.readyState == 4) 
			eval(xhr_object.responseText); 
		else if (xhr_object.readyState == 1) {
		    alert("1"); }
		else if (xhr_object.readyState == 2) {
		    alert('2');}
		else {alert('3');}
		} 
	}
	function demarrer() {
		Timer();
		setInterval("Timer()", 180000);
	}
</script>
Ma page 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
 
<?php
 
if (isset($_SESSION['pseudo'])) {
	$pseudoMembre = $_SESSION['pseudo']; 
	require "BDD.php";
 
	// Vérifie que l'utilisateur est connecté
	if ($prive==1){
		// MISE A JOUR DE LA DATE DE DERNIERE CONNEXION
		$q_last_connexion = "UPDATE Membre SET dateLastConnexion = NOW() WHERE pseudoMembre = '$pseudoMembre';";
		$r_last_connexion = mysql_query($q_last_connexion);
	} else {}
	mysql_close();
}
?>