Vous n'êtes pas identifié.

Annonces

Les pages de ce Forum sont exploitables par les Navigateurs Mozilla, Fire Fox, Opera, Safari, Konqueror, Netscape, MSIE.

#1 [↑] [↓]07/12/2009 11:46:56

Crazy
Super Admin azimuté
Crazy
Lieu: Côte d'Azur - FRANCE
Date d'inscription: 10/04/2006
Messages: 5462
Site web

Afficher le nombre de visiteurs d'un site

C'est très court (6 lignes de code effectif) !

Prérequis :
- PHP installé ;
- BDD MySQL (dans le cas présent) ou autre (script à modifier en conséquence).

Code PHP (auto-documenté) :

Code :

<?php
// Vérifier si l'IP du client est déjà dans la Table 'connect' (2 champs : 'ip' [varchar 15] et 'timestamp' [int])
$res = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre_connect FROM connect WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\''));

// Ajouter l'IP et le timestamp s'ils ne sont pas dans la table sinon seul le timestamp est mis à jour
if ($res['nbre_connect'] == 0) mysql_query('INSERT INTO connect VALUES(\''.$_SERVER['REMOTE_ADDR'].'\', '.time().')');
else mysql_query('UPDATE connect SET timestamp='.time().' WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\'');

// Supprimer toutes les entrées dont le timestamp est supérieur ou égal à 3 minutes
mysql_query('DELETE FROM connect WHERE timestamp <= '.(time() - (60 * 3)));

// Compter le nombre d'IP stockées dans la table (nombre de visiteurs connectés)
$res = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre_connect FROM connect'));

// Il n'y a plus qu'à afficher le nombre de visiteurs
echo 'A l\'instant : <b>'.$res['nbre_connect'].' visiteur'.(($res['nbre_connect'] > 1) ? 's' : '').'</b> sur '.$_SERVER['SERVER_NAME'];
?>

Bien évidemment, il faut être connecté à la BDD !

Code :

<?php
// Connexion à une BDD de type MySQL
mysql_connect("server_name", "UID", "PWD");
mysql_select_db("DB_name");
?>

wink
Alain AKA Arma

PS : ATTENTION --> Les Robots sont ausi comptabilisés comme Visiteurs... whistling ...


Je suis Bon (avec un grand C) et Immortel... Jusqu'à preuve du contraire !
http://crazy.cigiema.fr/chocoku/ - http://crazy.cigiema.fr/sorcier_glouton/ - http://crazy.cigiema.fr/tiger-osmose/
http://crazy.cigiema.fr/msnbetter_thangoogle/ - http://crazy.cigiema.fr/black-hattitude/

I remember and I feel free! - I am the Killer of the Lambs!

Hors ligne

 

#2 [↑] [↓]08/12/2009 02:05:06

Crazy
Super Admin azimuté
Crazy
Lieu: Côte d'Azur - FRANCE
Date d'inscription: 10/04/2006
Messages: 5462
Site web

Re: Afficher le nombre de visiteurs d'un site

Comment créer la table nécessaire ?

Il suffit de soumettre ce qui suit (MySQL) :

Code :

-- Structure de la table `connect`

CREATE TABLE IF NOT EXISTS `connect`
(`ip` varchar(15) NOT NULL default '000.000.000.000',`timestamp` int(11) NOT NULL default '0');

wink
Alain AKA Arma

PS : J'aime bien mettre du SQL dans un Sujet qui traite de PHP... whistling ...


Je suis Bon (avec un grand C) et Immortel... Jusqu'à preuve du contraire !
http://crazy.cigiema.fr/chocoku/ - http://crazy.cigiema.fr/sorcier_glouton/ - http://crazy.cigiema.fr/tiger-osmose/
http://crazy.cigiema.fr/msnbetter_thangoogle/ - http://crazy.cigiema.fr/black-hattitude/

I remember and I feel free! - I am the Killer of the Lambs!

Hors ligne

 

#3 [↑] [↓]08/12/2009 15:29:27

Crazy
Super Admin azimuté
Crazy
Lieu: Côte d'Azur - FRANCE
Date d'inscription: 10/04/2006
Messages: 5462
Site web

Re: Afficher le nombre de visiteurs d'un site

C'est en place sur l'Annuaire Cigiema, dans le Footer.
--> http://annuaire.cigiema.fr (tout en bas au dessus du logo XiTi)
Il suffit d'ajouter la table connect à la BDD et de modifier (ajouter les lignes de Script) le fichier /include/user/common_bas.php

Pour Versions >= 3.0 :
Après :

Code :

<?php
}

Insérer :

Code :

echo '<center>'."\n";
$res = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre_connect FROM connect WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\''));
if ($res['nbre_connect'] == 0) mysql_query('INSERT INTO connect VALUES(\''.$_SERVER['REMOTE_ADDR'].'\', '.time().')');
else mysql_query('UPDATE connect SET timestamp='.time().' WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\'');
mysql_query('DELETE FROM connect WHERE timestamp <= '.(time() - (60 * 3)));
$res = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre_connect FROM connect'));
if ($lang == 'fr') echo "\t".'A cet instant : <b>'.$res['nbre_connect'].' visiteur'.(($res['nbre_connect'] > 1) ? 's' : '').'</b> sur '.$_SERVER['SERVER_NAME']."\n";
else echo "\t".'At this time: <b>'.$res['nbre_connect'].' visitor'.(($res['nbre_connect'] > 1) ? 's' : '').'</b> connected on '.$_SERVER['SERVER_NAME']."\n";
echo '</center>'."\n";

Pour Versions < 3.0, supprimer l'avant dernière ligne et le if ($lang == 'fr') précédent.

Il n'y aura pas de MOD sur le Script de l'Annuaire car ceci n'est pas vraiment vraiment utile
(sauf pour le Webmaster, éventuellement - le nombre de visiteurs présents n'apporte rien à l'Internaute)
Disons que c'est putôt pour le FuN... Bref, c'est naze mais beau !
wink
Alain AKA Arma

[Vous devez être identifié pour voir le texte caché.]

Code :

int lower = 1000;
int higher = 15000;

int alea = (int)(Math.random() * (higher - lower)) + lower;
document.write('.../... '+alea+' .../...');

Dernière modification par Crazy (09/12/2009 11:10:51)



Je suis Bon (avec un grand C) et Immortel... Jusqu'à preuve du contraire !
http://crazy.cigiema.fr/chocoku/ - http://crazy.cigiema.fr/sorcier_glouton/ - http://crazy.cigiema.fr/tiger-osmose/
http://crazy.cigiema.fr/msnbetter_thangoogle/ - http://crazy.cigiema.fr/black-hattitude/

I remember and I feel free! - I am the Killer of the Lambs!

Hors ligne

 

#4 [↑] [↓]09/12/2009 11:38:45

Sarcrazy
Membre
Sarcrazy
Date d'inscription: 08/12/2009
Messages: 13

Re: Afficher le nombre de visiteurs d'un site

Réponse au HIDE...
http://forum.cigiema.fr/img/tamp_revolt.gif


Pour que tout redevienne possible...
Avec Sarcrazy, gagnons ensemble !


<edit Crazy> Gabegie puis Récession, ensuite Rigueur et, pour finir : Austérité ! </edit>

Hors ligne

 

#5 [↑] [↓]09/12/2009 11:59:07

Crazy
Super Admin azimuté
Crazy
Lieu: Côte d'Azur - FRANCE
Date d'inscription: 10/04/2006
Messages: 5462
Site web

Re: Afficher le nombre de visiteurs d'un site

@ Sarcrazy :
Et la présentation ?
Elle est où ?
mad
Alain AKA Arma

PS : J'aime bien proposer du JavaScript (en HIDE) dans un Topic de PHP... whistling ...


Je suis Bon (avec un grand C) et Immortel... Jusqu'à preuve du contraire !
http://crazy.cigiema.fr/chocoku/ - http://crazy.cigiema.fr/sorcier_glouton/ - http://crazy.cigiema.fr/tiger-osmose/
http://crazy.cigiema.fr/msnbetter_thangoogle/ - http://crazy.cigiema.fr/black-hattitude/

I remember and I feel free! - I am the Killer of the Lambs!

Hors ligne

 

#6 [↑] [↓]27/12/2009 09:02:38

rgo74
Ami des Alpages
rgo74
Lieu: Toute la Haute Savoie
Date d'inscription: 17/05/2006
Messages: 911
Site web

Re: Afficher le nombre de visiteurs d'un site

Pas mal, pas mal !

[Vous devez être identifié pour voir le texte caché.]


Hors ligne

 

#7 [↑] [↓]27/12/2009 09:21:21

Crazy
Super Admin azimuté
Crazy
Lieu: Côte d'Azur - FRANCE
Date d'inscription: 10/04/2006
Messages: 5462
Site web

Re: Afficher le nombre de visiteurs d'un site

Et ça fonctionne bien...

[Vous devez être identifié pour voir le texte caché.]
wink
Alain AKA Arma

PS : Et bleh à la Googlesse...


Je suis Bon (avec un grand C) et Immortel... Jusqu'à preuve du contraire !
http://crazy.cigiema.fr/chocoku/ - http://crazy.cigiema.fr/sorcier_glouton/ - http://crazy.cigiema.fr/tiger-osmose/
http://crazy.cigiema.fr/msnbetter_thangoogle/ - http://crazy.cigiema.fr/black-hattitude/

I remember and I feel free! - I am the Killer of the Lambs!

Hors ligne

 

#8 [↑] [↓]27/12/2009 09:38:13

rgo74
Ami des Alpages
rgo74
Lieu: Toute la Haute Savoie
Date d'inscription: 17/05/2006
Messages: 911
Site web

Re: Afficher le nombre de visiteurs d'un site

Aucun souci de mon côté avec mes annuaires multi-versions --> Tous dans le top 3 smile


Hors ligne

 

Pied de page des forums

Powered by PunBB modified
© Copyright 2002–2005, Rickard Andersson
© Interface & Functional Add-ons Copyright 2006-2007, by Crazy


RSS Forum CIGIEMA

© 2006-2010 / A. G.
CiGi€M@®, 1997-2010
IDDN Reproduction totale ou partielle strictement interdite
Contact :
/