compter les membres

Répondre
mitchum
le 14/09/2003 à 09:38
mitchum
salut,
j'ai un script pour compter les membres en ligne et les non membres, mais il ne marche pas , il affiche qu'un nom de mebre.
avez vous un idée?

voici le code:
<?
//function nb_visiteurs_connecte($time , $text_color , $filename="data.dat"){
// $time est le temps en seconde à partir duquel on considère que
// le visiteur n'est plus connecté

// $text_color est la couleur d'affichage du compteur

// $filename est le nom du fichier créé pour stocker les informations

//On regarde quelle type de visiteur est-ce
$type_visiteur = "0";
if(empty($SESSION_USERa)) {
$type_visiteur = "0"; //visiteur non enregistré
}
else
{
$type_visiteur = "1"; //utilisateur enregistré
}

$time = "300";
$text_color = "red";
$filename = "fichier_compeur.txt";
//récupération de l'adresse IP
$ip = getenv("REMOTE_ADDR");
//Date maintenant
$date=time();

$i=0;
$ii=0;
$bool=0;

//Si le fichier de stokage des information existe on récupère les informations
if(file_exists($filename))
{
if($fichier=fopen($filename, "r"))
{
while(!feof($fichier))
{
$ligne=fgets($fichier, 4096);
$tab=explode("|", $ligne);

if($tab[1]>0)
{
$tab_de_tab[$i][0]=$tab[0];
$tab_de_tab[$i][1]=$tab[1];
$tab_de_tab[$i][2]=$tab[2];
$i++;
}
}
fclose($fichier);
}
}


for($j=0;$j<$i;$j++)
{
if(($date-chop($tab_de_tab[$j][1]))>$time)
{
//on ne fait rien
}
else
{
$tab_de_tab_actualise[$ii][0]=$tab_de_tab[$j][0];
$tab_de_tab_actualise[$ii][1]=$tab_de_tab[$j][1];
$tab_de_tab_actualise[$ii][2]=chop($tab_de_tab[$j][2]);
$ii++;
}
}

for($j=0;$j<$ii;$j++)
{
if($tab_de_tab_actualise[$j][0]==$ip)
{
$bool=1;
}
}
if($bool==0)
{
$tab_de_tab_actualise[$ii][0]=$ip;
$tab_de_tab_actualise[$ii][1]=$date;
$tab_de_tab_actualise[$ii][2]=$type_visiteur;
$ii++;
}


if($fichier=fopen($filename, "w"))
{
for($j=0;$j<$ii;$j++)
{
//Je test si par rapport à son adresse IP, le surfeur est devenu utilisateur enregistré ou bien simple visiteur
if(chop($tab_de_tab_actualise[$ii][2]) != $type_visiteur and chop($tab_de_tab_actualise[$j][0]) == $ip )
{
$tab_de_tab_actualise[$j][2] = $type_visiteur;
}
//Fin du test
fputs($fichier, chop($tab_de_tab_actualise[$j][0]));
fputs($fichier, "|");
fputs($fichier, chop($tab_de_tab_actualise[$j][1]));
fputs($fichier, "|");
fputs($fichier, chop($tab_de_tab_actualise[$j][2]));
fputs($fichier, "\n");
}

fclose($fichier);
}

$surfeur = "0"; //Variable pour l'utilisateur non enregistré
$registrer_user = "0"; //Variable pour l'utilisateur enregistré

if(file_exists($filename))
{
if($fichier=fopen($filename, "r"))
{
while(!feof($fichier))
{
$ligne=fgets($fichier, 4096);
$tab=explode("|", $ligne);

if($tab[1]>0)
{
$tab_de_tab[$i][0]=$tab[0];
$tab_de_tab[$i][1]=$tab[1];
$tab_de_tab[$i][2]=$tab[2];
if(chop($tab_de_tab[$i][2]) == "0")
{
$surfeur = $surfeur + "1";
}
elseif(chop($tab_de_tab[$i][2]) == "1")
{
$registrer_user = $registrer_user + "1";
}
$i++;
}
}
fclose($fichier);
}
}

//echo "<font color=\"", $text_color, "\">", $ii, "
//visiteurs<br>connectés</font>";
echo("<center>En ligne :</center>");
echo("<br>".$surfeur." Visiteur(s)");
echo("<br>".$registrer_user." Membre(s)");
//}
?>

MERCI BEAUCOUP
glasyeur
le 15/09/2003 à 23:41
glasyeur
abanan ta un script qui fais 3km tu veux qu'on le lise et on vois ou est l'erreure :(
ta qua prendre le script qui est sur le site.
il a été retravailer par la globule donc simplifié psque ici c'est le phpfastoche =)
lut tlm
mitchum
le 17/09/2003 à 18:01
mitchum
salut,

je me suis mal exprime :(

en fait, le script de la globule (tres bien expliqué d'ailleur) permet juste de compter le nombre de visiteurs a un instant sur le site.
Moi je cherche un moyen de compter le nombre de visiteurs, et de membres connectés, puis afficher leurs noms...

j'espere que c'est plus clair :)
merci
LA GLOBULE
le 17/09/2003 à 18:16
LA GLOBULE
Ben en fait, on avait compris.

Mais le plus simple, serait de contacter directement l'auteur de ce script.
Parce que là, deja d'une, a priori, le script ne donne pas de messages d'erreur (il ne bug pas, c'est juste qu'il n'affiche pas les bon truc), ce qui veut dire que c'est une erreur de conception et non de syntaxe, et de deux, je ne sais pas su tout comment fonctionne ce script (c'est quoi le fichier .dat ? j'imagine qu'il contient des données, mais bon...)

Tu comprends ?
Je me vois mal corriger un script de 150 lignes juste parce que celui qui l'a fait ne sait pas le corriger.
mitchum
le 18/09/2003 à 17:40
mitchum
salut,
le probleme, c'est que je ne connais pas l'auteur...
mais c'est bon, avec un amis maitrisant parfaitement le php, il m'a fait un petit cours la dessus, et le script est presque finis.

merci a toi la globule, pour ton site, qui me permet de progresser de jours en jours...
CHAPEAU smiley smiley smiley smiley
savageman
le 18/09/2003 à 21:41
savageman
Ben en fait, le mieux c'est de le faire toi-meme ton script... Moi perso, j'ai le mien il est 5 fois plus court que celui que t'as la et il fait 2 fois plus de choses...
Styleman
le 19/09/2003 à 20:43
Styleman
Vous pourriez mettre le script sur le forum?

Je parle du plus court biensur lol, ça m'interresse, j'ai bien ma petite idée mais voila, lol

Sinon tres bien ce site, je suis la depuis peu, premiere fois ke je viens sur le forum je pense.

Il n'y a pas bcp de pub pour ce site il me semble...

Merci bcp

a+
Styleman
++ Styleman
Répondre
LoadingChargement en cours