Qui est en ligne - temps presque réel - javascript et php

Soyez le premier à donner votre avis sur cette source.

Vue 20 324 fois - Téléchargée 1 801 fois

Description

Bonjour à tous,

Voici un code que je vien a peine de terminer. Vous connaisser surement des scripts en PHP qui permette de savoir qui est en ligne sur votre site... leur principe est simple:

Lors de laffichage d'une page stoker le ip, la date et l'heure de visionnement du visiteur dans une BD ou autre support comme un fichier texte.Et ensuite faire un script PHP pour qui supprime les entrée IP ayant la date inférieure à la date actuel - X minutes . Ou X est un nombre de minute, ensuite compter le nombre d'entrée IP restante et lafficher.

Bon et bien je suis parti du même principe mais j'ai grandement améliorer le système, le plsu grand problème de c'est script c'est leurs précision... admetton qu nous mettons 5 pour le X cela fait 5 min ou ne sait pas si le visiteur est vraiment en ligne...

Et bien le script que je vous propose règle se problème et passe de 5min à 20 secondes... beaucoup plus précis non ?

Source / Exemple :


<!-- LE RESTE EST DS LE ZIP -->
<!-- LE RESTE EST DS LE ZIP -->
<!-- LE RESTE EST DS LE ZIP -->

<!-- EXEMPLE DE PAGE AVEC CE SCRIPT -->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>whoIsOnline</title>
<script language="javascript" src="includes/js/whoIsOnline.js"></script>
</head>
<!--
// Système pour connaitre les personne en lignes sur son site... 
// Système améliorer des versions traditionnel, puisque la précision ce compte en secondes
// Programmer par Jocelyn Ménard
// crenox@hotmail.com

fonctionnement:
function start ds le unload du body -> 
PARAMETRE:
1 : le idPath -> C'est le préfix des id des zones... (laisser tel quel)
2 : temps apres lequel l'update de connection est effectué (en secondes)
3 : variable SERVEUR PHP qui est égal au IP du visiteur .. (laisser tel quel)

LE DIV:
Placer le DIV whoIsOnline_zone à l'endroit désirer dans zotre page.. c'est
à cet encdoirt que le nombre de visiteur sera afficher

-->
<body onLoad="start('whoIsOnline',15,'<?php echo $_SERVER['REMOTE_ADDR']; ?>');  onUnload="checkClosePage('<?php echo $_SERVER['REMOTE_ADDR']; ?>');"">
<div id="whoIsOnline_zone" style="border:1px #006699 solid;width:200px;height:15px;padding:4px; background-color:#CCCCCC;"></div>
</body>
</html>

Conclusion :


Le script fonctionne avec XMLHttpRequest qui est maintenant compatible avec plusieurs navigateur.

Le simple ... quelques fonctions javascript gère le temps ecouler, et apres X secondes appelle une page PHP qui actualise la connection indiquant que le visiteur est encore en ligne. (Pour ceux qui ne savent pas comment focntionne XMLHttpRequest c'Est une fonction javascript qui permet d'executer un fichier serveur sans recharger la page et d'en tirer des données)

Il y a aussi un lien a coter du de nombre de visite pour actualiser ce nombre... donc si vous cliquer vs verrez le nombre changer si il y du trafic sur votre site

NOTE: N'oublier pas de modifier les paramètre de connexion a votre BD dans le fichier config.php
NOTE2: La Variable $_SERVER['REMOTE_ADDR'] ne semble pas fonctionner en local, donc pour test local remplacer <?php $_SERVER['REMOTE_ADDR']; ?> par un ip fictif comme: 127.0.0.1 ... c'est aussi une bonne maniere de teste plusieurs connection... avec une plusieurs copies de exemple.php avec un ip différent à la place de <?php $_SERVER['REMOTE_ADDR']; ?>.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Parfait, plus besoin de chercher 30 000 sites différents pour au final tomber sur un banal script php :p Merci beaucoup =)
Messages postés
3
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
22 février 2010

il manque un " pour fermer le onload dans la page exemple !
moi j'aime bien ce genre de fonction :D, de plus j'ai été surpris qu'elle soit si peut répendu ... enfin bref com + note normal car j'utilise ton script et qu'il me conviens très bien merci encore ;)
Messages postés
22
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
31 mars 2012

Bonjour... tout d'abord je félicite Josh666, parceque coder des truk comme ça... quand on y connais rien c'est du boulot...
Moi perso je suis un peut ce qu'on pourrait qualifier comme "débutant". j'essaie d'apprendre sur le tas.. et ça me réussi un peut... parceque au début, quand j'ai commencé mon site, je savais rein du tout.. et maintenant ça avance plus vite mes pitits codage ... :)

bref, donc félicitation pour avoir réussi à faire quelques chose d'intéligent... et ton idée est très simpa... c'est d'ailleur ce que je recherche à faire sur mon site.

Enfaite plus exactement j'aimeré fair en système comme sur certain forum, c'est à dire savoir qui viens (ce qui afficheré son pseudo...) un truk dans le genre...
Mais là c'est une autre histoire, il faut faire un truc de membre rég et tout je pensse (et moi pas savoir faire tou ça :'( ).. donc je laiss tomber malheureusement...

Mais tou ça pour dire que ta eu une bonne idée et que ton aide va être précieuse à beaucoup de monde je pensse. (moi le premier).

Et....
Et,
Et pourtant... j'ai un souci..
étant débutant comme je le disais, j'ai du mal à comprendre pourquoi le code ne fonctionne pas chez moi :/

J'ai un rectangle gris sur la page test... mais rien d'autre... de plus un message dans la barre des tâche me di en gros "Terminé mais ya des Erreurs"....
Alors je suis un peut dans la panade là.... :/

Quelqu'un sourait donc me dire quel pourrait etre mon souci?
sachant que j'ai rien modifier du tout, j'ai laissé le script comme original (une sorte de clin d'oeil à l'auteur.... et faut avouer aussi que je risquerai faire plus de bétises qu'autre chose ^^).

Merci d'avance pour votre réponse...

Et bon courage à tout les codeurs débutants ou expérimentés... ya des truc super super simpa sur ce site...

Continuez... ;)
Messages postés
1
Date d'inscription
mercredi 3 janvier 2007
Statut
Membre
Dernière intervention
19 juillet 2008

Bonjour !
Je ne sais pas pourquoi mais de mon coté les tables ne se cré pas ^^
Messages postés
1
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
11 avril 2007

Moi je trouve ta fonction géniale, je vais l'utiliser sur mon site !!

++ et bon courage
Afficher les 23 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.