Eléphanteau du PHP |
16 Messages
20 avr. 2007, 12:22
si tu veux mais je pense que le code est bon car j'utilise l'ajax depuis un bon moment ... Mais on ne sait jamais, en effet.
Code javascript :
Code : Tout sélectionner
function newrequest(){
var xmlhttp=null;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
return xmlhttp
}
function get_request(page_call, mondiv){
var req;
if(mondiv=="divalerte"){
clearTimeout(timer);
document.getElementById('divalerte').innerHTML="Loading... please wait... Ok ?!";
document.getElementById('divalerte').style.visibility="visible";
}
req = newrequest();
req.open("GET", page_call+"&"+new Date().getTime(), true);
req.onreadystatechange = function(){
switch(req.readyState){
case 4:document.getElementById(mondiv).innerHTML=req.responseText;
if(req.responseText.length>1) document.getElementById(mondiv).style.visibility="visible";
if(mondiv=="divalerte"){
clearTimeout(timer);
timer=setTimeout('cachealerte()',5000);
}
break;
}
}
req.send("");
}
Code dans ma page principale :
Code : Tout sélectionner
function maj_status(){
get_request('../headers/request/status.php?pass=1','divstatus');
setTimeout("maj_status()",15000);
}
maj_status();
Code HTML de la page principale :
Code : Tout sélectionner
<body class="body">
<div id="img" class="img"><img src="" width="300px"></div>
<div class="divalerte" id="divalerte"></div>
<table class="encadre" width="180px" height="300px" cellspacing="0">
<tr>
<td class="entete">Serveur status</td>
</tr>
<tr>
<td class="donnees">
<div class="divstatus" id="divstatus"></div>
</td>
</tr>
</table>
</body>
Et enfin la page status.php :
Code : Tout sélectionner
session_cache_expire (30);
session_start();
include("../inc/conf.php");
include("../inc/fonctions.inc.php");
connectbase();
$msg='';
$arr='';
$arr=get_serveur_status();
$id=$arr[5];
$time=$arr[2];
$status=$arr[1];
$plpos=$arr[3];
$msg.='Now playing '.format_string($arr[0]).' - '.$time.' ['.$plpos.']';
echo htmlentities($msg);
mysql_close();
Voilà, en esperant que ça va aider. A savoir aussi: je fais plusieurs requêtes ajax sur timer javascript, il est donc possible que 2 requêtes soit envoyées en même temps. Mais ça ne doit pas poser de problème normalement. Et je rappelle que le bug n'arrive que dés fois (genre 1 fois sur 10 requêtes) et que ça ne le fait que sous mozilla (sous linux, windows et mac)
Merci.
alcy.fr
informatique.alcy.fr
intraccess.fr