Points positifs :
- reload toussa
- super maniable
- évactuation du log à partir d'une certaine taille
Points négatifs :
- moche (pour le moment)
- évacuation du log à partir d'une certaine taille
- sécurité (???)
- nécessite l'acceptation des cookies
Il vous faut 2 fichiers (index.php et func.php) :
<?php
if(!isset($_COOKIE["connexion"])) {
setcookie("connexion",time(),time()+(3600*24*365));
}
echo "<div id=\"ladiv\" style=\"height:90%;overflow:scroll;\"></div>";
echo "<input type=\"text\" name=\"nom\" id=\"nom\"> <input type=\"text\" name=\"nom\" id=\"message\"> <input type=\"submit\" value=\"???\" onClick=\"javascript:sendRequest('');document.getElementById('message').value='';\">";
?>
<script type="text/javascript" language="Javascript">
setInterval("Rechargement()",5000);
function createXMLHttpRequest() {
var ua;
if(window.XMLHttpRequest) {
try {
ua = new XMLHttpRequest();
} catch(e) {
ua = false;
}
} else if(window.ActiveXObject) {
try {
ua = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
ua = false;
}
}
return ua;
}
var req = createXMLHttpRequest();
function sendRequest() {
req.open('post', 'func.php',true);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
blabla="nom="+document.getElementById('nom').value+"&message="+document.getElementById('message').value;
req.onreadystatechange = handleResponse;
req.send(blabla);
}
function Rechargement() {
req.open('post', 'func.php',true);
req.onreadystatechange = handleResponse;
req.send(null);
}
function handleResponse() {
if(req.readyState == 4){
var response = req.responseText;
document.getElementById('ladiv').innerHTML=response;
document.getElementById('ladiv').scrollTop = document.getElementById('ladiv').scrollHeight;
}
}
</script>
?> et <?php
if(filesize('log')>=3000000) unlink("stamp");
$moment=time();
$handle=fopen("stamp","w");
fwrite($handle,time());
fclose($handle);
$handle=fopen("log","a");
if($_POST['message']!="") {
fwrite($handle,"\n".$moment.">>>".htmlentities($_POST['nom']).">>>".htmlentities(substr($_POST['message'],0,2000)));
}
fclose($handle);
$handle=fopen("log","r");
while($buffer=fread($handle,filesize("log"))) {
$lignes=explode("\n",$buffer);
$i=0;
foreach($lignes as $ligne) {
$tablog=explode(">>>",$ligne);
if($tablog[1]!="" && $tablog[0]>$_COOKIE["connexion"]) echo "<b>".$tablog[1]."</b> : ".$tablog[2]."<br />";
$i++;
}
}
fclose($handle);