Page 1 sur 1

nbre de connectés

Posté : 19 août 2006, 18:25
par vares2
Bonjour les amis.

J'ai besoin d'un script pour afficher le nombre de connectés qui sont logués sur mon site.

Merci pour l'aide

Posté : 19 août 2006, 19:07
par nobody perfect
Bonjour
<?php

$tempmax = 180; // temps au bout duquel le visiteur n'est plus compté présent s'il ne racharge pas une page. (en secondes)
$userfile="visitonline.dat"; // nom de votre fichier de comptage(recommandé de ne pas le changer)
$tempfile="tempfile.dat"; //nom du fichier temporaire

$sec = time();
$expire=$sec + $tempmax;
$ipvisit="$REMOTE_ADDR";
function substrcount($haystack, $needle) { 
$offset=0;
$i = 0; 
$counter = 0; 
while ($i==0) { 
$longueur = strlen($haystack); 
$position=strpos($haystack,$needle,$offset); 
if ($position && ($offset + strlen($needle)) <= $longueur) { 
$offset = $position+strlen($needle); 
$counter++; 
} else { 
$i++; 
}} 
return $counter; 
}
$cont=fopen("$userfile","r+");
$contenu="";
while (!feof($cont)) {
$suite=fgets($cont, 4096);
$contenu.="$suite";
}
fclose($cont);
$nbreligne=substrcount("$contenu","\n");
$visit = explode("\n",$contenu);
$j=0;
$ligneecrite="$ipvisit|$expire\n";
$tempfi=fopen("$tempfile","a+");
fwrite($tempfi,"$ligneecrite");
fclose($tempfi);
$nbreonline++;
while ($j < $nbreligne){ 
$idvisit=explode("|",chop($visit[$j]));
if  ($idvisit[0] != $ipvisit){
if ($idvisit[1] >= $sec){
$ligneecrite="$idvisit[0]|$idvisit[1]\n";
$tempfi=fopen("$tempfile","a+");
fputs($tempfi,"$ligneecrite");
fclose($tempfi);
}}
$j++;
}
copy("$tempfile","$userfile");
$conte = fopen("$userfile","r");
$contenu2 = "";
$contenu="";
while (!feof($conte)) {
$suite2=fgets($conte, 4096);
$contenu2.="$suite2";
}
fclose ($conte);
$nbreligne2 = substrcount("$contenu2","\n");
$nbreonline = "$nbreligne2";
$testtemp=fopen("$tempfile","w+");
fseek($testtemp,0);
fputs($testtemp,"");
fclose($testtemp);

if ($nbreonline==1){$afficher=$nbreonline." connecté";}
if ($nbreonline > 1){$afficher=$nbreonline." connectés";}
if ($voir=="js"){
print "document.write('".$afficher."');";
}
if ($voir=="php"){
echo("$afficher");
}
if ($voir=="no"){
}
?>
@+

Posté : 19 août 2006, 19:10
par Nobody perfect
Re bonjour

J'ai omis ceci

a inserer la ou tu veut
<?php $voir="php"; include("module/viewonline.php"); ?>
@+