aide : problème pour un compteur de visiteur sur un site - PHP - Programmation
Marsh Posté le 31-12-2004 à 16:57:53
Citation : j'ai trouvé ce que je devais mettre comme langage sur mes pages php |
Marsh Posté le 31-12-2004 à 17:48:56
Alors il n'y a pas d'erreur? moi ça ne marche pas, on me dit qu'il y a une erreur à la ligne 46 mais je ne trouve pas.
Alors que faire?
Marsh Posté le 31-12-2004 à 17:50:17
sircam a écrit :
|
Désolée je n'arrivais pas à m'expliquer, je voulais dire ce que je devais mettre sur ma page pour avoir un compteur de visiteurs.
Ce n'est pas évident de s'expliquer....
Marsh Posté le 31-12-2004 à 17:52:23
Patty62 a écrit : Alors il n'y a pas d'erreur? moi ça ne marche pas, on me dit qu'il y a une erreur à la ligne 46 mais je ne trouve pas. |
Mais que dit cette erreur?
Utilise la balise[ cpp ]ton code[ cpp ] pour que je puisse voir.
Marsh Posté le 31-12-2004 à 17:58:53
Berceker United a écrit : Mais que dit cette erreur? |
Je ne comprends plus rien, je n'ai rien fait de spécial et j'ai recopié sur ma page tout le script et là ça marche. ah l'informatique...
Mais bon j'aimerai comprendre pourquoi c'est écrit visiteurs et en dessous connectés. Je me demande comment faire pour mettre ma phrase sur une seule ligne, ça serait mieux.
Mais en tout cas merci.
Patty
Marsh Posté le 31-12-2004 à 18:42:35
Berceker United a écrit : Enlève le <br> entre les deux. |
Merci beaucoup, mais que suis-je bête quand même. Je n'ai pas encore réveillonnée alors qu'es-ce que ça va être après lol!!!
Sinon si tu peux me dire où je peux marquer align=right car je veux que ma ligne (visiteurs connectés) soit sur la droite de mon tableau.
Merci et un bon réveillon
Patty
Marsh Posté le 31-12-2004 à 18:59:14
essais ça :
Code :
|
ou
Code :
|
Regarde si avec ça sa fonctionne.
Marsh Posté le 31-12-2004 à 19:16:31
Berceker United a écrit : essais ça :
|
Merci encore car le deuxième code marche mais dis moi pourquoi la couleur bleu de "visiteurs connectés" est parti? J'aimais mieux quand c'était en bleu ;-)
Marsh Posté le 31-12-2004 à 19:32:33
Berceker United a écrit : il faut mettre un diese => #'.$text_color.' |
Merci mais ça reste toujours normal et pas en couleur bleue
Marsh Posté le 31-12-2004 à 19:46:51
Patty62 a écrit : Merci mais ça reste toujours normal et pas en couleur bleue |
regarde le code source de ta page et dit moi ce qu'il y ou donne moi l'url.
Marsh Posté le 31-12-2004 à 22:08:18
Berceker United a écrit : regarde le code source de ta page et dit moi ce qu'il y ou donne moi l'url. |
Comme mon site n'est pas encore mis en ligne, je te donne le code source de la page connectes.php :
<html>
<head>
<title></title>
</head>
<body>
<?php
// ------------------------------------------------------------------------- //
// Compteur de connectés //
/*
Ce script permet de connaître le nombre de visiteurs connectés sur une période
de temps donnée (i.e. permet de savoir combien il y a de visiteurs en ligne).
Ce script n'utilise pas de base de données. Il stocke les informations dans un
fichier .dat */
// $time est le temps en seconde à partir duquel on considère que
// le visiteur n'est plus connecté
// $filename est le nom du fichier créé pour stocker les informations
function nb_visiteurs_connecte($time,$text_color,$filename="data.dat" )
{
$ip = getenv("REMOTE_ADDR" );
$date=time();
$i=0;
$ii=0;
$bool=0;
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];
$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]=chop($tab_de_tab[$j][1]);
$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;
$ii++;
}
if($fichier=fopen($filename,"w" ))
{
for($j=0;$j<$ii;$j++)
{
fputs($fichier,chop($tab_de_tab_actualise[$j][0]));
fputs($fichier,"|" );
fputs($fichier,chop($tab_de_tab_actualise[$j][1]));
fputs($fichier,"\n" );
}
fclose($fichier);
}
echo '<table align="right"><tr><td style="#'.$text_color.'"><b>'.$ii.'</b> visiteurs connectés</td></tr></table>';
}
nb_visiteurs_connecte(600,"blue" );
?>
</body>
</html>
Mais je ne sais pas si c'est celle là que tu veux, puisque que je fais un include dans une autre page, qui est pa lage d'accueil en fait.
Dis moi si ça te va ou pas. Merci. Patty
Marsh Posté le 31-12-2004 à 15:03:03
Hello à tous,
Je voulais savoir si quelqu'un pourrait m'aider avec mon compteur de visiteur. Je suis en train de faire mon site et j'ai trouvé ce que je devais mettre comme langage sur mes pages php pour un compteur mais cela ne marche pas alors est-ce que quelq'un peut m'aider.
Alors voici ma page connectes.php :
<html>
<head>
<title></title>
</head>
<body>
<?php
// ------------------------------------------------------------------------- //
// Compteur de connectés //
// ------------------------------------------------------------------------- //
// Auteur: Merckel Loïc //
// Web: http://www.merckel.org/spip //
// ------------------------------------------------------------------------- //
/*
Ce script permet de connaître le nombre de visiteurs connectés sur une période
de temps donnée (i.e. permet de savoir combien il y a de visiteurs en ligne).
Ce script n'utilise pas de base de données. Il stocke les informations dans un
fichier .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
function nb_visiteurs_connecte($time,$text_color,$filename="data.dat" )
{
$ip = getenv("REMOTE_ADDR" );
$date=time();
$i=0;
$ii=0;
$bool=0;
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];
$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]=chop($tab_de_tab[$j][1]);
$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;
$ii++;
}
if($fichier=fopen($filename,"w" ))
{
for($j=0;$j<$ii;$j++)
{
fputs($fichier,chop($tab_de_tab_actualise[$j][0]));
fputs($fichier,"|" );
fputs($fichier,chop($tab_de_tab_actualise[$j][1]));
fputs($fichier,"\n" );
}
fclose($fichier);
}
echo "<font color=\"",$text_color,"\"><b>",$ii,"</b> visiteurs<br>connectés</font>";
}
// vous pouvez changer les paramètres suivant (attention le temps est en
// secondes - 600 ici)
nb_visiteurs_connecte(600,"blue" );
?>
</body>
</html>
et ma page d'accueil j'insère ceci:
<?
include "connectes.php";
?>
Apparemment il y aurait un problème sur la page connectes.php autour de ça :
$ligne=fgets($fichier,4096);
$tab=explode("|",$ligne);
if($tab[1]>0)
On m'a dit erreur vers la ligne 46 qui est celle là : if($tab[1]>0) mais je sais que cela peut être au dessus ou même en dessous.
Bref! Est-ce que quelqu'un pourrait tester cela et m'éclairer svp??
Merci beaucoup pour votre aide.
Patty