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é) :
<?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 !
<?php
// Connexion à une BDD de type MySQL
mysql_connect("server_name", "UID", "PWD");
mysql_select_db("DB_name");
?>![]()
Alain AKA Arma
PS : ATTENTION --> Les Robots sont ausi comptabilisés comme Visiteurs...
...
Hors ligne
Comment créer la table nécessaire ?
Il suffit de soumettre ce qui suit (MySQL) :
-- 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');
![]()
Alain AKA Arma
PS : J'aime bien mettre du SQL dans un Sujet qui traite de PHP...
...
Hors ligne
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 :
<?php }
Insérer :
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 !![]()
Alain AKA Arma
[Vous devez être identifié pour voir le texte caché.]
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)
Hors ligne
Réponse au HIDE...
Hors ligne
@ Sarcrazy :
Et la présentation ?
Elle est où ?
![]()
Alain AKA Arma
PS : J'aime bien proposer du JavaScript (en HIDE) dans un Topic de PHP...
...
Hors ligne
Pas mal, pas mal !
[Vous devez être identifié pour voir le texte caché.]
Hors ligne
Et ça fonctionne bien...
[Vous devez être identifié pour voir le texte caché.]![]()
Alain AKA Arma
PS : Et
à la Googlesse...
Hors ligne
Aucun souci de mon côté avec mes annuaires multi-versions --> Tous dans le top 3 ![]()
Hors ligne
|
© 2006-2010 / A. G.☺ CiGi€M@®, 1997-2010 |
|
Reproduction totale ou partielle strictement interdite Contact : / |