[PHP]Compteur de connectés script php |
|---|
[PHP]Compteur de connectés script phpNote : 3.9/5 (6 votes) Derniéres modifications : 12/01/2010 à 06:15:01 Mots-Clés : compteur connectes en php script fonction compter connectes en ligne en php script gratuit simple base de donn?compteur connect?en php dans ce tutoriel, je vais vous expliquer le fonctionnement d'un compteur de connectés, et nous allons en réaliser un. Notre service de compteur de connectés est susceptible de vous intéresser: Le fonctionnement d'un compteur de connectés est très simple, une personne est jugée être connectée pendant les 5 minutes suivant l'ouverture de la dernière page. Vous pouvez évidement changer cette valeur. Le script vas utiliser MYSQL. Dans ce script nous allons utiliser l'adresse ip du visiteur pour le reconnaitre. À chaque fois que le visiteur vas ouvrir une page, nous allons changer le timestamp de sa dernière activité au timestamp actuel. Nous allons aussi supprimer toutes les entrées qui dates de plus de 5 minutes. Et finalement, nous allons compter le nombre d'entrées. Avant de commencer, vous devez créer une table cpt_connectes avec deux champs ip et timestamp. Vous pouvez aussi le faire automatiquement en exécutant le code SQL: Code: SQL CREATE TABLE `cpt_connectes` ( `ip` varchar(255) collate latin1_german2_ci NOT NULL, `timestamp` varchar(255) collate latin1_german2_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; Donc voici le code php/mysql pour faire un compteur de connectés: Code: PHP
<?php mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); $dnns = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes where ip="'.$_SERVER['remote_addr'].'"')); if($dnns['nb']>0) { mysql_query('update cpt_connectes set timestamp="'.time().'" where ip="'.$_SERVER['remote_addr'].'"'); } else { mysql_query('insert into cpt_connectes (ip, timestamp) values ("'.$_SERVER['remote_addr'].'", "'.time().'")'); } $times_m_5mins = time()-(60*5); mysql_query('detete from cpt_connectes where timestamp<"'.$times_m_5mins.'"'); $dnns2 = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes')); echo 'Il y a actuellement <strong>'.$dnns2['nb'].'</strong> connecté.'; ?> C'est tout pour ce tutoriel, si vous avez des questions, veuillez utiliser le forum ou le formulaire de contact. Merci, j'espère que vous avez aimé ce script et qu'il vous sera utile. Scripts et tutoriaux similaires à celui ci:
CommentairesAjouter un commentaireLes commentairesEnvoyé par elsabio le 19/01/2010 à 22:47:35
bonjour,
j'utilise votre code, mais quelles sont les parties que je dois changer pour que ça fonctionne sur mon site? merci d'avance Envoyé par RAYONXVIOLET le 05/02/2010 à 10:58:04
j'ai utilisé le script que vous avez proposez.mais lorsque je l'insère dans ma page il m'affiche ces messages d'erreurs
Notice: Undefined index: remote_addr in C:\wamp\www\cfpc\administrator\includes\compteur1.inc.php on line 4 Notice: Undefined index: remote_addr in C:\wamp\www\cfpc\administrator\includes\compteur1.inc.php on line 7 je veux juste savoir comment faire pour y remédier? merci d avance Envoyé par ybouane le 15/02/2010 à 23:53:13
Bonjour,
@elsabio: tu doit mettre tes identifiants dans la partie: mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); et tu doit executer le code SQL donné dans le tutoriel. @RAYONXVIOLET : je crois que le problème viens du fait que tu utilise php en local(wamp) et qu'il ne gère pas la variable $_SERVER['remote_addr'] mais quand tu mettra ton site sur internet, ça fonctionnera. Cordialement :) Envoyé par djo77 le 22/01/2011 à 18:39:18
Salut,
C'est pas mal , mais juste un truc, je prend exemple sur des gros sites comme facebook, imaginons je suis chez mes parents , j'utilise mon site et mon père et ma mère aussi, je suis avec une adresse IP fixe , nous avons tous la même , que ce passe t'il ? Envoyé par djo77 le 22/01/2011 à 18:41:48
Salut,
C'est pas mal , mais juste un truc, je prend exemple sur des gros sites comme facebook, imaginons je suis chez mes parents , j'utilise mon site et mon père et ma mère aussi, je suis avec une adresse IP fixe , nous avons tous la même , que ce passe t'il ? Envoyé par Mordri le 24/01/2011 à 17:46:00
Pas grand chose, étant donné que l'adresse IP est la même ça comptera que pour 1 visiteur,
par contre petite coquille à la ligne : mysql_query('detete from cpt_connectes where timestamp<"'.$times_m_5mins.'"'); c'est delete pas detete Envoyé par devile-la_beu le 10/03/2011 à 14:04:59
Bonjour a tous et merci pour le code , et bravo pour le compteur .
Je rencontre un soucis au niveaux de l'affichage des connectés , il m'affiche toujours 1 connectés pourtant j'ai un serveur sur ovh et sur free . J'ai bien remplie les infos pour la base de donnés je comprend pas . Si une personne peux me venir en aide je le remercie beaucoup . Par contre mon champ date est bien remplie dans la base sql . Cordialement un fidèle lecteur Envoyé par red1 le 29/03/2011 à 05:29:53
merci!!
Envoyé par fenix80 le 01/05/2011 à 11:43:14
bonjours
peut tu m'aider voila j'ai tout suivi j'ai méme l'installation automatique sql j'ai modifié les identifiant sa m'écrit les deux erreure la mais neanmois sa fonctionne car en dessous sa m'indique le nombre de connecté merci d'avance mon site est héberger chez moi sous windows avec easy php 5.3.5.0 ( ! )Notice: Undefined index: remote_addr in C:\Program Files\EasyPHP-5.3.5.0\www\compteur_connectes.php on line 4 ( ! ) Notice: Undefined index: remote_addr in C:\Program Files\EasyPHP-5.3.5.0\www\compteur_connectes.php on line 7 Envoyé par kRZqNocUAgNFbGlnfQN le 04/06/2011 à 15:06:46
Touchdwon! That's a really cool way of putting it!
Envoyé par iXCEzcWIqeADc le 04/06/2011 à 16:53:16
Touchdown! That's a ralely cool way of putting it!
Envoyé par as_moderateur le 31/08/2011 à 06:08:05
voici la correction du script :
<?php mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); $dnns = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes where ip="'.$_SERVER['REMOTE_ADDR'].'"')); if($dnns['nb']>0) { mysql_query('update cpt_connectes set timestamp="'.time().'" where ip="'.$_SERVER['REMOTE_ADDR'].'"'); } else { mysql_query('insert into cpt_connectes (ip, timestamp) values ("'.$_SERVER['REMOTE_ADDR'].'", "'.time().'")'); } $times_m_5mins = time()-(60*5); mysql_query('delete from cpt_connectes where timestamp<"'.$times_m_5mins.'"'); $dnns2 = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes')); echo 'Il y a actuellement <strong>'.$dnns2['nb'].'</strong> connecté.'; ?> Envoyé par weshwesh le 19/10/2011 à 02:38:30
Il faut changer localhost nom de la db username password .
Envoyé par AdmoxX le 03/11/2011 à 23:18:05
Il faut modifier la première les deux premières lignes biensûr avec vos informations sql ..
mysql_connect('localhost', 'username', 'password'); mysql_select_db('database'); Envoyé par madyouni le 06/01/2012 à 11:46:25
j'ai les deux message suivante aidez moi svp comment faire il ya des autre solution au pas ??? merci (!)Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0. (!)Fatal error: Unknown: Failed opening required 'C:/wamp/www/connecté/code.php' (include_path='.;C:\php\pear') in Unknown on line 0. Envoyé par bkmyvcrl le 24/01/2012 à 12:30:20
20
Envoyé par madyouni le 27/01/2012 à 11:54:50
j'ai les deux message suivante
aidez moi svp comment faire il ya des autre solution au pas ??? merci (!)Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0. (!)Fatal error: Unknown: Failed opening required 'C:/wamp/www/connecté/code.php' (include_path='.;C:\php\pear') in Unknown on line 0. et voila la code <?php mysql_connect('localhost','',''); mysql_select_db('senittech'); $dnns = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes where ip="'.$_SERVER['remote_addr'].'"')); if($dnns['nb']>0) { mysql_query('update cpt_connectes set timestamp="'.time().'" where ip="'.$_SERVER['remote_addr'].'"'); } else { mysql_query('insert into cpt_connectes (ip, timestamp) values ("'.$_SERVER['remote_addr'].'", "'.time().'")'); } $times_m_5mins = time()-(60*5); mysql_query('detete from cpt_connectes where timestamp<"'.$times_m_5mins.'"'); $dnns2 = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes')); echo 'Il y a actuellement <strong>'.$dnns2['nb'].'</strong> connecté.'; ?> svp aide moi Envoyé par Idontknow le 28/04/2012 à 13:49:18
Perso, chez-moi ça fonctionne pas (quelque soit le nombre de visiteur (/ip) = toujours 1 visiteur.
Envoyé par Maxime3011 le 16/09/2012 à 15:53:29
Merci beaucoup cela fonctionne nickel chez hebergratuit.
Envoyé par lNWEADafBgQ le 08/11/2012 à 22:18:32
That's rellay thinking at an impressive level
Envoyé par KENZA le 31/03/2013 à 06:56:31
HELLO
Envoyé par Omnes le 08/05/2013 à 18:31:54
Par contre y a pas moyen de changez le temps de refresh ?
|