coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 févr. 2006 à 14:18
Je crois que dans php.ini, on peut interdire à une page include d'inclure une nouvelle page... Mais selon moi, quand on a 220 noms de domaines, le minimum, c'est de savoir ce qu'on a dans son propre php.ini... De plus, mettre cette option à on, c'est corriger le fait que l'on pourrait faire un include récursif (ce qui est évidement dégeulasse), donc, c'est masquer un code crade... pour quelqu'un qui a 220 noms de domaines, c'est domage... Faut éspérer que le code html lui, soit corect...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 5 févr. 2006 à 12:32
Hello,
les esprits s'echauffent doucement, mais ça reste poli, alors que ça continue, merci...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 5 févr. 2006 à 00:13
Il teste peut-être ma patience, m'enfin je change petit à petit la preuve je me suis pas encore emporté (j'aurais pu le faire au moins une fois déjà et même deux)
Jdalton > tiens t'es passé de l'autre côté ?
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 5 févr. 2006 à 00:00
elmagic >> arrete de casser les ........ de tous le monde!
le code marche par deux include je l'ai testé, maintenant, pour que sa affiche plus que 1, il faut des visiteurs un!
aller @+
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 févr. 2006 à 23:28
si tu mets pas de point virgule après le include ça marchera pas...
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 4 févr. 2006 à 22:34
au meilleur des cas demain alors mais c po dur a reproduire tu prend ton compteur.php tu l'appel par un include dans une page et cette page tu l'include dans une autre et tu regarde le resultat tu verras que ca compte pas je suis pas codeur je vais pas te le taper mias ca doit etre un truc dans le genre :
<?php include ("compteur.php") ?> dans une page qui se nomme page.php
ensuite dans ton index.php par exemple tu met :
<?php include ("page.php") ?>
donc normalement le compteur doit apparaitre .. c le cas mais ca compte pas je sors c samedi a++
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 févr. 2006 à 22:30
Non mais avec tous tes includes et tout le tralala...
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 4 févr. 2006 à 20:37
ben ce qu'il y a dans ton zip :)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 févr. 2006 à 20:09
Quel est ton code ?
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 4 févr. 2006 à 19:53
ben je te propose de faire le test :)
je te donne pas la marche a suivre j'imagine que tu sais faire :) sinon demande a coucou747 ca a l'air d'etre un crack de chez crack ... ^^
J'ai donc mis le code en dur dans une page qui se fait appele par un include car quand je le met en include dans cette meme page ca ne marche pas ca reste a 1 et la en l'etat ca marche le nombre change mais le detail connecté / connectés ca ... ca ne marche pas donc j'ai rajoute connecte(s)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 févr. 2006 à 19:47
"appeler par include ce code dans une page elle meme appelee dans un include ..."
Tu es sûr que le problème vient de là ? Vu que ça fonctionne avec un include je vois pas pourquoi ça ne fonctionnerait pas avec deux...
Enfin bon j'attends que tu trouves la solution en revenant pour dire que ça marche ;-)
a +
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 4 févr. 2006 à 16:06
où je critique ?
qu'est que ta apporté toi a la discussion a part t'etre moqué ?
il aurait fallu le savoir qu'il ne fallait pas appeler par include ce code dans une page elle meme appelee dans un include ...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 4 févr. 2006 à 14:57
tout simplement lol... en ensuite, ça critique les autres...
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 4 févr. 2006 à 12:20
Je viens de reussir a faire marcher le script , j'avais appele le compteur.php par include mais dans un fichier qui etait aussi appele par include dans ma page ... il a fallu que je mette le code en dur dans cette page pour que ca fonctionne ...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 29 janv. 2006 à 10:04
hop c'est fait.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 29 janv. 2006 à 09:51
"Bon, sinon : coté script, antho, désolé mais je persiste ip est un int dans ta base sql; donc, 4 octets..."
j'avais modifié ça sur mon site d'ailleurs je n'ai pas mis de intval car trop gourmands.
ça donne ça pour l'ip client : $ip_client=$i[0]+$i[1]*256+$i[2]*65536;
et c'est effectivement plus rapide. Bon je vais mettre à jour (ça me saoulait de mettre à jour juste pour çà)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 28 janv. 2006 à 17:58
Test en local :
maxime@devmax:~$ ssh maxime@192.168.180.1
Password:
Linux routeur.localnet 2.4.27-2-586tsc #1 Wed Nov 30 21:29:45 JST 2005 i586 GNU/ Linux
[...]
Last login: Mon Jan 23 20:36:54 2006 from maxime.bellevue
maxime@routeur:~$ lynx http://192.168.180.12/html/tests/compteur.php
Il y a actuellement 2 visiteur connecté sur le site (depuis 4 minutes)
Touches fléchées: se déplacer, '?': aide, 'q': quitter, '<-': retour
HAUT/BAS: se déplacer; DROITE: activer le lien; GAUCHE: document précédent
H) Accueil S) Paramètres P) Imprimer G) Aller M) Départ Q)uitter /=chercher [Y]=
Une connexion locale et une connexion ssh...
tests réalisés sous php5 avec apache2 comme serveur web...
un petit extrait de mon fichier php.ini :
register_globals = Off
ça te suffit comme réponse coté global register ?
Bon, sinon : coté script, antho, désolé mais je persiste ip est un int dans ta base sql; donc, 4 octets...
doit être remplacé par :
$ip_client=strval(intval($i[0])+intval($i[1])*256+intval($i[2])*256*256+intval($i[3])*256*256*256);
tu y gagnerais en précision... sans perte de place...
Sinon, t'as des " dans tes requettes... j'ai été étonné de les voir d'ailleur...
Et quelques {} en trop...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 28 janv. 2006 à 17:20
Non ton problème ne vient pas des register_globals, mais heu... si t'as posé la question a des potes "de france du canada des US ... de se trouver sur la page au meme moment" il se peut qu'ils soient soit disant connectés mais avec le décalage horraire... tu me suis ?
Concrètement ce que je veux dire est que ce script fonctionne très bien et que tu es le seul à avoir un problème, donc je ne pense pas pouvoir t'aider davantage. Ce que tu peux essayer de faire c'est de simuler plusieurs connectés en appelant par exemple via un proxy une page de ton site, et tu verras qu'il y aura deux connectés qui apparaîtront. sinon pour être sur que ça fonctionne bien, passe ce script sur ton site ou y'a des dizaines de milliers de visiteurs par jour ;-)
a +
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 28 janv. 2006 à 15:08
@ coucou747 --> tres drole ... j'ai 220 noms de domaines et plusiseurs dizaines de milliers de visiteurs / jour me prends pas pour un noobs ... en effet sur ce site je suis generalement seul dessus car il est en dev ... mais n'etant pas en france j'ai pris la peine de demander a d'autres personne de france du canada des US ... de se trouver sur la page au meme moment donc je peux me permettre de dire que ca bug quelque part ... a l'avenir garde ton humour pour tes potes ...
@Anthomicro --> ok pour les MP maintenant est ce que si je te contact par mail j'aurais droit a une reponse digne d'un codeur qui aiment voir son script fonctionner ou tu vas encore me dire de rajouter un X ou un random ?
J'ai pourtant posé une question interessante precedemment ...
: mon serveur est en register global OFF ca peut poser un souci ?
Le probleme pourrait il venir de là ?
as tu testé ton script sur un dedié en register global OFF ?
Merci malgres tout ...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 27 janv. 2006 à 21:34
Elmagic > désolé pour les MP je ne les lis jamais :-( (je préfère le mail). Sinon le script fonctionne très bien, mais si tu veux avoir plusiseurs connectés rajoute une valeur X au nombre de connectés présents (lol) ^^
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 27 janv. 2006 à 18:53
lol elmagic, celui la fonctionne !!! mais normal qu'il affiche 1 si t'es le seul sur ton site !!!
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 27 janv. 2006 à 13:29
bon ben j'ai beau tout essaye rien a faire :(
Anthomicro je t'ai envoyé un message via ce forum pour savoir si tu pouvais me contacter par icq/msn tu ne l'as pas recu ou tu n'as pas daigné y repondre ? :(
je vais finir par me tourner vers un autre script c'est dommage celui la me plaisais plutot bien ...
lequel me conseillez vous ? Merci
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 23 janv. 2006 à 19:08
c'est normal, tu es le seul à avoir cliqué pendant ce temps, je ne vois aucun problème. Concernant la clé non définie c'est normal, je vais pas mettre d'index sur une table qui aura au plus pour un site moyen 100-200 enregistrements maximum.
a +
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 23 janv. 2006 à 19:00
Rien a faire j'ai tout refait .. et y me recolle la meme IP avec un time de ouff ...
a ne rien y comprendre
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 23 janv. 2006 à 18:33
g supprimé cet enregistrement et il me la remis aussitot ...
mon serveur est en register global OFF ca peut poser un souci ?
je vais supprimer la table et la recree voir ...
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 23 janv. 2006 à 18:26
dans mon phpmyadmin
dansla table connectes j'ai ce message :
onglet structure :
Aucune clef n'est définie !
onglet affichage:
1 IP ...
62210182 tps = 1138036937
grave docteur ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 23 janv. 2006 à 17:47
Bah tu dois être le seul alors ;-)
cs_elmagic
Messages postés11Date d'inscriptionsamedi 21 janvier 2006StatutMembreDernière intervention 4 février 2006 23 janv. 2006 à 17:30
slt
Je ne pense pas m'etre trompé mais sur mon site ca reste tjs a 1 connecté :( c'est bien dommage ...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 7 janv. 2006 à 12:35
Salut,
"Juste une question peut être bête. le procédé utilisé ici est un rafraichissement de page toutes les 4 minutes"
absolument pas, je ne prends en compte que les internautes ayant cliqué il y a 4 minutes maximum, mais il n'y a absolument aucun rafraîchissement de page.
cs_Alpha911
Messages postés88Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 août 2011 6 janv. 2006 à 23:23
Juste une question peut être bête. le procédé utilisé ici est un rafraichissement de page toutes les 4 minutes. Cela voudrait il dire que la page se recharge pendant quelque secondes toutes les 4 minutes ? ou est ce que la methode de rafraichissement est invisible ? pour être plus clair l'utilisateur subi t'il si il a un 56 K une page blanche
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 16 déc. 2005 à 22:57
Salut,
juste une comparaison avec les autres nombreux compteurs de connectés dispos te permettra de t'en rendre compte ;-)
genre deux requêtes (plus une inutile qui permet d'afficher le nombre de connectés mais ça tu le mets généralement sur une autre page) au lieu de 6 pour certains.... des requêtes optimisées, pas de superflu.
a +
tetedemul
Messages postés47Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention 4 janvier 2006 16 déc. 2005 à 09:06
Pourrait-on savoir en quoi ce script est "ultra-optimisé" si on excepte le TYPE=HEAP qu'on trouve dans la doc mysql (ou du moins dans des bouquins, la doc je l'ai jamais lue en entier...)?
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 19 août 2005 à 21:47
Pour l'ameliorer un poil de plus, je mettrais un :
echo 'Il y a actuellement ',$r[0],$ph,' sur le site (depuis '.ceil($limite_temps/60).'minutes)';
Mais ca reste pas important =) ( si on part dans l'hypothese que certains utilisateurs du script changent le temps de reactualisation)
_Marikou
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 19 août 2005 à 21:41
pour de l'optimisé, c'est de l'optimisé =)
C'est tellement simple que j'en suis sur le cul
merci pour ce code bien chiadé =)
_Marikou
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 4 juil. 2005 à 15:28
une ip complète est composée de quatres (ou six pour IPV6, mais on ignoreras pour le moment) nombres de 0 à 255 soit 4 octets...
or la, quand tu enregistres, tu enregistres une chaine dans ta BDD, tu devrais enregistrer un int unsigned... (32 bits, soit 4 octets...)
et tu pourrais garder une adresse complète...
ou alors, tu te mets en char(3) et tu enregistres uniquement les trois premiers octets de l'adresse...
C'est comme ça que j'ai fait pour un gestionaire de sondages...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 juil. 2005 à 14:48
Ok on parlait bien de la même chose alors ;-)
originalcompo
Messages postés65Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention 9 octobre 20071 4 juil. 2005 à 14:40
heu quand j'ai dit chiffre je pensais à un chiffre compris entre 0 et 255, c'est à dire codé sur un octet... je crois qu'on parle de la même chose!
quand à ta réponse, elle me convient...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 juil. 2005 à 14:31
Non il y a les trois premiers octets de gardés, ce qui n'est pas pareil que les trois premiers chiffres. Ensuite garder les premiers car ce sont les derniers qui auront tendance à changer, pas les premiers (principe même d'un réseau)
a +
originalcompo
Messages postés65Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention 9 octobre 20071 4 juil. 2005 à 14:22
Quelques remarques au commentaires qui ont été fait sur ce code:
Si on part de l'hypothèse formulée, je cite "une chance sur 256 à partir du 1er utilisateur, pour que le 2nd ne soit pas pris en compte..."
cela est vrai que l'on decide de ne pas prendre en compte le 1er chiffre, le 2ieme, le 3ieme ou le 4ieme.
Hors, les fournisseurs d'acces internet disposent de plage d'adresses Ip
212.27.32.0 - 212.27.63.255 soit 32*256 = 8192
213.228.0.0 - 213.228.63.255 soit 64*256 = 16384
62.147.0.0 - 62.147.255.255 soit 256*256 = 65536
81.56.0.0 - 81.57.255.255 soit 2*256*256 = 131072
82.64.0.0 - 82.67.255.255 soit 4*256*256 = 262144
82.224.0.0 - 82.255.255.255 soit 32*256*256 = 2097152
Soyons plus large et imaginons qu'un provider P1 dispose de tous les 82.xxx.xxx.xxx
et qu'un provider P2 dispose de tous les 83.xxx.xxx.xxx
que se passe t-il si 82.001.001.001, 82.001.001.002, 83.001.001.001 se connectent ?
Si on ne prend que les 3 derniers chiffres:
il va y avoir un faux doublon trouvé (82.)001.001.001 et (83.)001.001.001
Si on ne prend que les 3 premiers chiffres:
il va y avoir un faux doublon trouvé 82.001.001(.001) et 82.001.001(.002)
A prioris, c'est la même chose... sauf que les 82.001.001(.001) et 82.001.001(.002)
sont peut être une seule et même personne à cause des adresses dynamiques, alors qu'on est sur que (82.)001.001.001 et (83.)001.001.001 ne sont pas des mêmes utilisateurs (fournisseurs differents).
Donc je me demande s'il vaudrait pas mieux dans la pratique ne garder que les 3 premiers chiffres au lieu des 3 derniers ?
je dis ca, c'est juste pour faire avancer le smilblick...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 14 mai 2005 à 00:00
Bah si, inutile de vérifier si l'ip est déjà dans la base, regarde bien la requête, je fais un delete et ensuite j'insère la requête ;-)
Ensuite pour les cookies c'est inutile, mais ça permettrait d'améliorer de quelques pourcents la fiabilité du compteur.
Donc fiable à 100 %, non (comme tous les compteurs), mais fiable au moins à 95%, oui.
a +
Jayadeva
Messages postés67Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention 1 septembre 2008 13 mai 2005 à 23:49
Tu ne vérifie pas si l'ip est déjà dans la base? Et tu n'assigne pas de cookies pour être sur de la personne (ip dynamique) ?
Ce compteur est-il fiable 100% ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 mai 2005 à 18:11
jdalton > bah regarde les autres compteurs et compare le nombre de requêtes ou le code...
Coucou > j'ai modifié une requête (le insert into je préfère quand même la propreté ^^)
bye
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 11 mai 2005 à 15:42
jdalton42, tu critiques l'une des personnes les plus compétentes de ce forum...
et ces critiques n'ont pas lieu d'être car cette source aporte une meilleur vitesse / moins d'espace utilisé ...
enfin, anthOmicro aurait pu utiliser uniquement des ' au lieu de "... cf les apels mysql...
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 11 mai 2005 à 09:28
toi qui n'arete pas de te plaindre que des sources on deja ete poster plein de fois...
des code ainsi il en existe 50 sur Codes Sources...
franchement, arete tes commentaire sur les autres source pour les critiquer parce que les tienne ne sont pas mieu...
cs_Zacland
Messages postés35Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention15 mai 2007 12 avril 2005 à 08:57
Ok, j'en prend bonne note ...
C'est vrai qu'une fois que c'est assigné, on a plus besoin de la connexion... :D
Désolé d'avoir posté trop vite ^^ et marchi !
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 avril 2005 à 19:49
héhé, la requête ayant déjà été exécutée, son résultat est déjà stocké par php, tu peux donc fermer ta connexion avant, tu ne fais que traiter les données reçues, ce qui te libère ta connexion mysql avant, et te permet donc d'éviter au maximum les erreurs de 'max_users_connections' sur ton site ;-)
cs_Zacland
Messages postés35Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention15 mai 2007 11 avril 2005 à 17:23
Heuuu, question à 1,5€
Comment on peut exécuter un
$r=mysql_fetch_row($req1);
alors qu'à la ligne juste au dessus on a:
mysql_close($connexion) or die('Erreur de fermeture de la base');
Hein ?
Juste comme ça, comment ça se peut-il ??
^^
cs_JPR
Messages postés37Date d'inscriptionmercredi 3 juillet 2002StatutMembreDernière intervention 7 juin 2008 10 avril 2005 à 10:33
OK, merci à toi...J'ai vu et çà fonctionne .
Merci pour ton aide.
Bon dimanche
JPR
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 10 avril 2005 à 10:31
quand j'y suis allé, il m'affichait deux visiteurs...
pour le message, j'ai pas regardé la source en détail, mais suffit que tu cherche ou il y a la partie d'affichage...
cs_JPR
Messages postés37Date d'inscriptionmercredi 3 juillet 2002StatutMembreDernière intervention 7 juin 2008 10 avril 2005 à 10:26
merci de ta réponse...j'ai donné l'URL ci-dessus...est-ce que tu peux te connecter pour que je vois si çà fonctionne.....et pour le reste (IP de l'utilisateur et incorporation de la date ) tu ne sais pas ?
Bon dimanche
JPR
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 10 avril 2005 à 10:22
plusieurs connectés avec plusieurs micros dans un réseau local = une seule IP externe... donc, un seul user, faut demander à un pote de se connecter...
je suposes que t'as fait un partage de connexion... en gros, ta passerelle (switch, routeuradsl, hub...) sert de proxy... donc, vu de l'extèrieur, vous avez tous la même IP, donc, un seul utlisateur sera enregistré...
cs_JPR
Messages postés37Date d'inscriptionmercredi 3 juillet 2002StatutMembreDernière intervention 7 juin 2008 10 avril 2005 à 10:16
Bonjour,
Je viens d'installer sur FREE le script et installé ma table dans ma base et j'ai toujours 1 seul utilisateur de connecté....
J'ai plusieurs micro de connectés sur mon site http://cftcbpmc.free.fr et il m'est répondu qu'il n'y a qu'1 seul utiisateur ...
Qui peut m'aider à comprendre celà ?
De plus j'aurais bien aimé compléter le message avec l'IP du client ainsi que la date .....
Merci de vos conseils.....
JPR
cs_seed
Messages postés99Date d'inscriptionsamedi 1 février 2003StatutMembreDernière intervention19 mars 2005 19 mars 2005 à 22:05
Essayes :
$r = mysql_fetch_row($req1);
if($r[0]>1) {
$nb_visiteurs = ' visiteurs connectés';
}
else {
$nb_visiteurs = ' visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],$nb_visiteurs,' sur le site';
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 14 mars 2005 à 10:40
ben moi non plus... mais çà ne marche pas en tout cas !!!
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 mars 2005 à 20:34
je ne vois pas d'erreur :-(
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 11 mars 2005 à 19:24
je te remet mon code :
$r=mysql_fetch_row($req1);
if(count($r[0])>1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site';
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 11 mars 2005 à 19:24
pas de changement !!!!
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 mars 2005 à 18:25
essaie if(count($r[0])>1)
je corrige le code ;-)
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 11 mars 2005 à 18:21
je précise qu'avec le code d'origine, j'ai le même résultat !!!!
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 11 mars 2005 à 18:20
Moi j'ai un petit soucis... j'ai modifié le code à partir de la remarque de lilounec et voici ce que j'ai :
$r=mysql_fetch_row($req1);
if((count($r)) > 1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site';
J'ai fais des tests, et même lorsqu'il y a plusieurs connectés, il me met toujours "visiteur connecté" au singulier ??? J'ai bien le bon chiffre qui apparaît pourtant (testé à deux en ligne avec un ami)... D'où vient le problème ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 mars 2005 à 16:05
Salut ;-)
si bien sûr :-)
a ++
cobrachris
Messages postés85Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention19 mars 2007 11 mars 2005 à 09:23
Salut, Anthomicro.
Sympa ton conteur.
Une question, tu dis de copier tout le code dans ta page, peut'on pas faire un include tout simpmlement pour alléger le code de la page ?
Merci et @+.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 24 févr. 2005 à 15:22
Pour créer la table tu te rends dans phpmyadmin par exemple. Ensuite oui, tu colles le code php, et le nombre s'affichera tout seul.
a +
cs_thibault31
Messages postés28Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention11 décembre 2005 24 févr. 2005 à 14:56
Je débute en PHP...
Comment je fais concrêtement pour ajouter çà dans mon site :
Tout le code test à mettre dans la même page ?
Il faut créer une table dans la base Mysql ? Comment ?
Quel bout de code je dois intégrer dans une cellule d'un tableau pour voir le compteur apparaitre dans ma page ?
Merci d'avance...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 janv. 2005 à 01:35
"Mon serveur c'est mon client (niveau hard) donc, la même ip... Si mon bot va sur ton site, mon bot sera sur mon serveur, donc les deux types d'ip sont à prendre en compte..."
Comment ça les deux types d'IP ? pour moi une IP est une IP, qu'elle vienne de n'importe où... après en effet si t'as plusieurs users sur la même IP, ok, mais bon le "ultra optimisé" du titre vient balayer ça mdr (ouais j'ai pas envie d'éditer ^^ lol)
allez bonne année ;-)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 janv. 2005 à 01:28
Bonne année (j'avais pas vu l'heure passer...)
"Tu confonds l'ip de ton serveur avec l'ip du client ou alors je comprends pas ta question :-("=> je ne suis po con à ce point... No ip permet de s'héberger... Mon serveur c'est mon client (niveau hard) donc, la même ip... Si mon bot va sur ton site, mon bot sera sur mon serveur, donc les deux types d'ip sont à prendre en compte...
et la plupart des gens ont une ip dynamique...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 janv. 2005 à 01:13
"Moi, j'utilise no-ip pour mon site..."
Tu confonds l'ip de ton serveur avec l'ip du client ou alors je comprends pas ta question :-(
"Les ip statiques, si tu connais un fournisseur qui les fait à po cher, tu me préviens..."
Free.fr ;-)
Pour ce qui est des proxys le simple $_SERVER['XTTP_X_FORWARDED_FOR'] convient, j'ai noté "ultra optimisé" mdr, c'est d'ailleurs pour ça que je ne vérifie pas si le client viens à partir d'un proxy (mdr) mais bon ça se rajoute avec un if ^^
merci pour ton commentaire et bonne année 2005 ;-)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 janv. 2005 à 00:51
J'avais oublié :
Si tu veux tennir compte des proxys et partages de connexion, relèves aussi le port de retour...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 janv. 2005 à 00:45
Les ip statiques, c'est rare...
Moi, j'utilise no-ip pour mon site...
Je connais qqn qui a un nom de domaine, et qui pourtant utilises noip... Les ip statiques, si tu connais un fournisseur qui les fait à po cher, tu me préviens...
Pour les ip :
256^3 = le nombre de possibilitées (come tu ne prends que les 3 premiers octets...)
soit 16777216...
(2^(8*3)=2^24=16777216...)
si tu prends la totalitée de l'ip, ça fait : 2^32=4294967296
On ignore les proxys (je ne fait les calculs juste parce-que je me fait chier... je sais que t'avais raison de ne prendre que trois octets...)
Soit tu as une chance sur :
2^32 / 2^24= 256
par par utilisateur à partir du second qu'il ne soit pas pris en compte...
soit
0.390% de chance... par utilisateur à partir du second qu'il ne soit pas compté...
Ta solution est exellente Bravo
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 31 déc. 2004 à 12:03
C'est corrigé dans le code ;-)
merci
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 31 déc. 2004 à 03:19
Pour la table sql il faudrait remplacer
`temps` int(10) unsigned NOT NULL default '0',
) TYPE=HEAP;
par
`temps` int(10) unsigned NOT NULL default '0'
) TYPE=HEAP;
En fait enlever la , avant la ) sinon ça plante... .. .
Voili voilou... .. .
@ tchaOo°
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 21 déc. 2004 à 10:21
lilounec > ah oui merci j'avais fait ça à l'arrache lol ;-)
je modifie
a ++
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 21 déc. 2004 à 10:17
desoler c pas pour un forum d'ailleurs j'ai jamais fait de forum (et oui il existe des mecs qui programme du php 40 Heures par semaine et qui n'ont jamais programmer un forum je dit ca parceque quand je vois le nombre de forum dispo sur le net... je doit etre un des rares :D )
Non c pour une appli intranet ou j'ai des tables temporaires qui sont vides au debut de ma page et qui sont vides a la fin fin de ma page....
lilounec
Messages postés1Date d'inscriptionmardi 7 décembre 2004StatutMembreDernière intervention21 décembre 2004 21 déc. 2004 à 10:13
thx pour ton script, pas mal.
Je me suis juste permis de faire une petite modif toute bete :
$r=mysql_fetch_row($req1);
if((count($r)) > 1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site (depuis 4 minutes)';
@+
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 21 déc. 2004 à 10:02
LOL, non si tu voulais booster ton forum faut oublier par exemple, dès que le serveur redémarre ou qu'il y a un crash, hop, plus rien dans ta table. Perso je m'en sers pour mon forum pour le système de messages lus/non lus (c'est pas indispensable d'avoir une sécurité max lol) ainsi que pour les connectés, ça accélère pas mal ;-)
a ++
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 21 déc. 2004 à 09:28
bon pour mes idées avec des tables heap c mort jai de l'autoincrement dedans.... snif snif
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 20 déc. 2004 à 13:17
Perso je met pas de @ sauf quand je sais qu'il y a un risque que je fasse une division par zero par contre je voios pas ou ca pose un probleme de securité (c pas trop mon domaine la securité) peu tu donner un exemple webdeb
Si la version est stable logiquement ca plante pas (comme le disai mon grand pere il disai aussi que les bonne chose se perde .... snif)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 13:14
Ouais c'est clair, en même temps là dessus heu bon voilà quoi ^^ c'est qu'un compteur de connectés ;-)
a ++
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 20 déc. 2004 à 13:11
Je ne les mets jamais même en version stable. je préfère le or die ou exit qui coupe l'exécution du script. Il faut chercher sur le net il y a des scripts beaucoup mieux pour la gestion des erreurs.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 12:57
Heu dans ce cas la sécurité n'est pas un problème vu l'importance de la table ;-)
j'aime pas trop le or die perso mais bon, un @ masque tout, je préfère ça quand tu mets une version stable de ton site, en beta j'enlève le @ pour voir les éventuelles erreurs...
a ++
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 20 déc. 2004 à 12:46
Et oui c'est pour ça ! C'est mieux un OR die() qui coupe l'exécution du script en cas de problème qu'un @ qui masque l'erreur et continue son exécution ( = sécurité en danger).
++
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 11:59
En fait j'aurais même pu l'enlever l'@ vu que y'a le or die après...
je fais ça tout de suite
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 11:58
Non puisque tu as le OR die ensuite qui gère les erreurs, mettre un @ permet de gérer les erreurs toi-même ;-)
a ++
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 20 déc. 2004 à 11:48
Je n'ai pas testé le script mais un truc qui est mal adapté c'est les @ devant les fonctions. C'est un peu à éviter !
++
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 11:29
Non y'a aucun risque hormis la perte de données dans la table ;-)
Bref pour tout ce qui est compteur de connectés ou données transitoires c'est parfait ;-)
a ++
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 20 déc. 2004 à 11:26
Salut!!
Concernant l'utilisation des tables en memoires grace a l'option heap (ou memory selon la version) à part sur les pertes de données y a t'il des risques autres ou des commandes un peu plus particuliaires a utiliser ca va peut etre me servir ;) (ca me donne des idées...)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 20 déc. 2004 à 10:43
Bon pour ce qui est de l'IP qui peut ne pas être récupérée via remote_addr c'est pour optimiser la source, je prends la majorité possible, et c'est REMOTE_ADDR ;-)
5 févr. 2006 à 14:18
5 févr. 2006 à 12:32
les esprits s'echauffent doucement, mais ça reste poli, alors que ça continue, merci...
5 févr. 2006 à 00:13
Jdalton > tiens t'es passé de l'autre côté ?
5 févr. 2006 à 00:00
le code marche par deux include je l'ai testé, maintenant, pour que sa affiche plus que 1, il faut des visiteurs un!
aller @+
4 févr. 2006 à 23:28
4 févr. 2006 à 22:34
<?php include ("compteur.php") ?> dans une page qui se nomme page.php
ensuite dans ton index.php par exemple tu met :
<?php include ("page.php") ?>
donc normalement le compteur doit apparaitre .. c le cas mais ca compte pas je sors c samedi a++
4 févr. 2006 à 22:30
4 févr. 2006 à 20:37
4 févr. 2006 à 20:09
4 févr. 2006 à 19:53
je te donne pas la marche a suivre j'imagine que tu sais faire :) sinon demande a coucou747 ca a l'air d'etre un crack de chez crack ... ^^
J'ai donc mis le code en dur dans une page qui se fait appele par un include car quand je le met en include dans cette meme page ca ne marche pas ca reste a 1 et la en l'etat ca marche le nombre change mais le detail connecté / connectés ca ... ca ne marche pas donc j'ai rajoute connecte(s)
4 févr. 2006 à 19:47
Tu es sûr que le problème vient de là ? Vu que ça fonctionne avec un include je vois pas pourquoi ça ne fonctionnerait pas avec deux...
Enfin bon j'attends que tu trouves la solution en revenant pour dire que ça marche ;-)
a +
4 févr. 2006 à 16:06
qu'est que ta apporté toi a la discussion a part t'etre moqué ?
il aurait fallu le savoir qu'il ne fallait pas appeler par include ce code dans une page elle meme appelee dans un include ...
4 févr. 2006 à 14:57
4 févr. 2006 à 12:20
29 janv. 2006 à 10:04
29 janv. 2006 à 09:51
j'avais modifié ça sur mon site d'ailleurs je n'ai pas mis de intval car trop gourmands.
ça donne ça pour l'ip client : $ip_client=$i[0]+$i[1]*256+$i[2]*65536;
et c'est effectivement plus rapide. Bon je vais mettre à jour (ça me saoulait de mettre à jour juste pour çà)
28 janv. 2006 à 17:58
maxime@devmax:~$ ssh maxime@192.168.180.1
Password:
Linux routeur.localnet 2.4.27-2-586tsc #1 Wed Nov 30 21:29:45 JST 2005 i586 GNU/ Linux
[...]
Last login: Mon Jan 23 20:36:54 2006 from maxime.bellevue
maxime@routeur:~$ lynx http://192.168.180.12/html/tests/compteur.php
Il y a actuellement 2 visiteur connecté sur le site (depuis 4 minutes)
Touches fléchées: se déplacer, '?': aide, 'q': quitter, '<-': retour
HAUT/BAS: se déplacer; DROITE: activer le lien; GAUCHE: document précédent
H) Accueil S) Paramètres P) Imprimer G) Aller M) Départ Q)uitter /=chercher [Y]=
Une connexion locale et une connexion ssh...
tests réalisés sous php5 avec apache2 comme serveur web...
un petit extrait de mon fichier php.ini :
register_globals = Off
ça te suffit comme réponse coté global register ?
Bon, sinon : coté script, antho, désolé mais je persiste ip est un int dans ta base sql; donc, 4 octets...
$i=explode('.',$_SERVER['REMOTE_ADDR']);
$ip_client=$i[0].$i[1].$i[2];
doit être remplacé par :
$ip_client=strval(intval($i[0])+intval($i[1])*256+intval($i[2])*256*256+intval($i[3])*256*256*256);
tu y gagnerais en précision... sans perte de place...
Sinon, t'as des " dans tes requettes... j'ai été étonné de les voir d'ailleur...
Et quelques {} en trop...
28 janv. 2006 à 17:20
Concrètement ce que je veux dire est que ce script fonctionne très bien et que tu es le seul à avoir un problème, donc je ne pense pas pouvoir t'aider davantage. Ce que tu peux essayer de faire c'est de simuler plusieurs connectés en appelant par exemple via un proxy une page de ton site, et tu verras qu'il y aura deux connectés qui apparaîtront. sinon pour être sur que ça fonctionne bien, passe ce script sur ton site ou y'a des dizaines de milliers de visiteurs par jour ;-)
a +
28 janv. 2006 à 15:08
@Anthomicro --> ok pour les MP maintenant est ce que si je te contact par mail j'aurais droit a une reponse digne d'un codeur qui aiment voir son script fonctionner ou tu vas encore me dire de rajouter un X ou un random ?
J'ai pourtant posé une question interessante precedemment ...
: mon serveur est en register global OFF ca peut poser un souci ?
Le probleme pourrait il venir de là ?
as tu testé ton script sur un dedié en register global OFF ?
Merci malgres tout ...
27 janv. 2006 à 21:34
27 janv. 2006 à 18:53
27 janv. 2006 à 13:29
Anthomicro je t'ai envoyé un message via ce forum pour savoir si tu pouvais me contacter par icq/msn tu ne l'as pas recu ou tu n'as pas daigné y repondre ? :(
je vais finir par me tourner vers un autre script c'est dommage celui la me plaisais plutot bien ...
lequel me conseillez vous ? Merci
23 janv. 2006 à 19:08
a +
23 janv. 2006 à 19:00
a ne rien y comprendre
23 janv. 2006 à 18:33
mon serveur est en register global OFF ca peut poser un souci ?
je vais supprimer la table et la recree voir ...
23 janv. 2006 à 18:26
dansla table connectes j'ai ce message :
onglet structure :
Aucune clef n'est définie !
onglet affichage:
1 IP ...
62210182 tps = 1138036937
grave docteur ?
23 janv. 2006 à 17:47
23 janv. 2006 à 17:30
Je ne pense pas m'etre trompé mais sur mon site ca reste tjs a 1 connecté :( c'est bien dommage ...
7 janv. 2006 à 12:35
"Juste une question peut être bête. le procédé utilisé ici est un rafraichissement de page toutes les 4 minutes"
absolument pas, je ne prends en compte que les internautes ayant cliqué il y a 4 minutes maximum, mais il n'y a absolument aucun rafraîchissement de page.
6 janv. 2006 à 23:23
16 déc. 2005 à 22:57
juste une comparaison avec les autres nombreux compteurs de connectés dispos te permettra de t'en rendre compte ;-)
genre deux requêtes (plus une inutile qui permet d'afficher le nombre de connectés mais ça tu le mets généralement sur une autre page) au lieu de 6 pour certains.... des requêtes optimisées, pas de superflu.
a +
16 déc. 2005 à 09:06
19 août 2005 à 21:47
echo 'Il y a actuellement ',$r[0],$ph,' sur le site (depuis '.ceil($limite_temps/60).'minutes)';
Mais ca reste pas important =) ( si on part dans l'hypothese que certains utilisateurs du script changent le temps de reactualisation)
_Marikou
19 août 2005 à 21:41
C'est tellement simple que j'en suis sur le cul
merci pour ce code bien chiadé =)
_Marikou
4 juil. 2005 à 15:28
or la, quand tu enregistres, tu enregistres une chaine dans ta BDD, tu devrais enregistrer un int unsigned... (32 bits, soit 4 octets...)
et tu pourrais garder une adresse complète...
ou alors, tu te mets en char(3) et tu enregistres uniquement les trois premiers octets de l'adresse...
C'est comme ça que j'ai fait pour un gestionaire de sondages...
4 juil. 2005 à 14:48
4 juil. 2005 à 14:40
quand à ta réponse, elle me convient...
4 juil. 2005 à 14:31
a +
4 juil. 2005 à 14:22
Si on part de l'hypothèse formulée, je cite "une chance sur 256 à partir du 1er utilisateur, pour que le 2nd ne soit pas pris en compte..."
cela est vrai que l'on decide de ne pas prendre en compte le 1er chiffre, le 2ieme, le 3ieme ou le 4ieme.
Hors, les fournisseurs d'acces internet disposent de plage d'adresses Ip
Exemple pour free :
(suivre le mode d'emploi de
http://www-rst.int-evry.fr/~patrick/Internet/Adresses.html#AllocationDesAdressesIP
pour savoir comment les trouver)
212.27.32.0 - 212.27.63.255 soit 32*256 = 8192
213.228.0.0 - 213.228.63.255 soit 64*256 = 16384
62.147.0.0 - 62.147.255.255 soit 256*256 = 65536
81.56.0.0 - 81.57.255.255 soit 2*256*256 = 131072
82.64.0.0 - 82.67.255.255 soit 4*256*256 = 262144
82.224.0.0 - 82.255.255.255 soit 32*256*256 = 2097152
Soyons plus large et imaginons qu'un provider P1 dispose de tous les 82.xxx.xxx.xxx
et qu'un provider P2 dispose de tous les 83.xxx.xxx.xxx
que se passe t-il si 82.001.001.001, 82.001.001.002, 83.001.001.001 se connectent ?
Si on ne prend que les 3 derniers chiffres:
il va y avoir un faux doublon trouvé (82.)001.001.001 et (83.)001.001.001
Si on ne prend que les 3 premiers chiffres:
il va y avoir un faux doublon trouvé 82.001.001(.001) et 82.001.001(.002)
A prioris, c'est la même chose... sauf que les 82.001.001(.001) et 82.001.001(.002)
sont peut être une seule et même personne à cause des adresses dynamiques, alors qu'on est sur que (82.)001.001.001 et (83.)001.001.001 ne sont pas des mêmes utilisateurs (fournisseurs differents).
Donc je me demande s'il vaudrait pas mieux dans la pratique ne garder que les 3 premiers chiffres au lieu des 3 derniers ?
je dis ca, c'est juste pour faire avancer le smilblick...
14 mai 2005 à 00:00
Ensuite pour les cookies c'est inutile, mais ça permettrait d'améliorer de quelques pourcents la fiabilité du compteur.
Donc fiable à 100 %, non (comme tous les compteurs), mais fiable au moins à 95%, oui.
a +
13 mai 2005 à 23:49
Ce compteur est-il fiable 100% ?
11 mai 2005 à 18:11
Coucou > j'ai modifié une requête (le insert into je préfère quand même la propreté ^^)
bye
11 mai 2005 à 15:42
et ces critiques n'ont pas lieu d'être car cette source aporte une meilleur vitesse / moins d'espace utilisé ...
enfin, anthOmicro aurait pu utiliser uniquement des ' au lieu de "... cf les apels mysql...
11 mai 2005 à 09:28
des code ainsi il en existe 50 sur Codes Sources...
franchement, arete tes commentaire sur les autres source pour les critiquer parce que les tienne ne sont pas mieu...
12 avril 2005 à 08:57
C'est vrai qu'une fois que c'est assigné, on a plus besoin de la connexion... :D
Désolé d'avoir posté trop vite ^^ et marchi !
11 avril 2005 à 19:49
11 avril 2005 à 17:23
Comment on peut exécuter un
$r=mysql_fetch_row($req1);
alors qu'à la ligne juste au dessus on a:
mysql_close($connexion) or die('Erreur de fermeture de la base');
Hein ?
Juste comme ça, comment ça se peut-il ??
^^
10 avril 2005 à 10:33
Merci pour ton aide.
Bon dimanche
JPR
10 avril 2005 à 10:31
pour le message, j'ai pas regardé la source en détail, mais suffit que tu cherche ou il y a la partie d'affichage...
10 avril 2005 à 10:26
Bon dimanche
JPR
10 avril 2005 à 10:22
je suposes que t'as fait un partage de connexion... en gros, ta passerelle (switch, routeuradsl, hub...) sert de proxy... donc, vu de l'extèrieur, vous avez tous la même IP, donc, un seul utlisateur sera enregistré...
10 avril 2005 à 10:16
Je viens d'installer sur FREE le script et installé ma table dans ma base et j'ai toujours 1 seul utilisateur de connecté....
J'ai plusieurs micro de connectés sur mon site http://cftcbpmc.free.fr et il m'est répondu qu'il n'y a qu'1 seul utiisateur ...
Qui peut m'aider à comprendre celà ?
De plus j'aurais bien aimé compléter le message avec l'IP du client ainsi que la date .....
Merci de vos conseils.....
JPR
19 mars 2005 à 22:05
$r = mysql_fetch_row($req1);
if($r[0]>1) {
$nb_visiteurs = ' visiteurs connectés';
}
else {
$nb_visiteurs = ' visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],$nb_visiteurs,' sur le site';
14 mars 2005 à 10:40
11 mars 2005 à 20:34
11 mars 2005 à 19:24
$r=mysql_fetch_row($req1);
if(count($r[0])>1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site';
11 mars 2005 à 19:24
11 mars 2005 à 18:25
je corrige le code ;-)
11 mars 2005 à 18:21
11 mars 2005 à 18:20
$r=mysql_fetch_row($req1);
if((count($r)) > 1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site';
J'ai fais des tests, et même lorsqu'il y a plusieurs connectés, il me met toujours "visiteur connecté" au singulier ??? J'ai bien le bon chiffre qui apparaît pourtant (testé à deux en ligne avec un ami)... D'où vient le problème ?
11 mars 2005 à 16:05
si bien sûr :-)
a ++
11 mars 2005 à 09:23
Sympa ton conteur.
Une question, tu dis de copier tout le code dans ta page, peut'on pas faire un include tout simpmlement pour alléger le code de la page ?
Merci et @+.
24 févr. 2005 à 15:22
a +
24 févr. 2005 à 14:56
Comment je fais concrêtement pour ajouter çà dans mon site :
Tout le code test à mettre dans la même page ?
Il faut créer une table dans la base Mysql ? Comment ?
Quel bout de code je dois intégrer dans une cellule d'un tableau pour voir le compteur apparaitre dans ma page ?
Merci d'avance...
1 janv. 2005 à 01:35
Comment ça les deux types d'IP ? pour moi une IP est une IP, qu'elle vienne de n'importe où... après en effet si t'as plusieurs users sur la même IP, ok, mais bon le "ultra optimisé" du titre vient balayer ça mdr (ouais j'ai pas envie d'éditer ^^ lol)
allez bonne année ;-)
1 janv. 2005 à 01:28
"Tu confonds l'ip de ton serveur avec l'ip du client ou alors je comprends pas ta question :-("=> je ne suis po con à ce point... No ip permet de s'héberger... Mon serveur c'est mon client (niveau hard) donc, la même ip... Si mon bot va sur ton site, mon bot sera sur mon serveur, donc les deux types d'ip sont à prendre en compte...
et la plupart des gens ont une ip dynamique...
1 janv. 2005 à 01:13
Tu confonds l'ip de ton serveur avec l'ip du client ou alors je comprends pas ta question :-(
"Les ip statiques, si tu connais un fournisseur qui les fait à po cher, tu me préviens..."
Free.fr ;-)
Pour ce qui est des proxys le simple $_SERVER['XTTP_X_FORWARDED_FOR'] convient, j'ai noté "ultra optimisé" mdr, c'est d'ailleurs pour ça que je ne vérifie pas si le client viens à partir d'un proxy (mdr) mais bon ça se rajoute avec un if ^^
merci pour ton commentaire et bonne année 2005 ;-)
1 janv. 2005 à 00:51
Si tu veux tennir compte des proxys et partages de connexion, relèves aussi le port de retour...
1 janv. 2005 à 00:45
Moi, j'utilise no-ip pour mon site...
Je connais qqn qui a un nom de domaine, et qui pourtant utilises noip... Les ip statiques, si tu connais un fournisseur qui les fait à po cher, tu me préviens...
Pour les ip :
256^3 = le nombre de possibilitées (come tu ne prends que les 3 premiers octets...)
soit 16777216...
(2^(8*3)=2^24=16777216...)
si tu prends la totalitée de l'ip, ça fait : 2^32=4294967296
On ignore les proxys (je ne fait les calculs juste parce-que je me fait chier... je sais que t'avais raison de ne prendre que trois octets...)
Soit tu as une chance sur :
2^32 / 2^24= 256
par par utilisateur à partir du second qu'il ne soit pas pris en compte...
soit
0.390% de chance... par utilisateur à partir du second qu'il ne soit pas compté...
Ta solution est exellente Bravo
31 déc. 2004 à 12:03
merci
31 déc. 2004 à 03:19
`temps` int(10) unsigned NOT NULL default '0',
) TYPE=HEAP;
par
`temps` int(10) unsigned NOT NULL default '0'
) TYPE=HEAP;
En fait enlever la , avant la ) sinon ça plante... .. .
Voili voilou... .. .
@ tchaOo°
21 déc. 2004 à 10:21
je modifie
a ++
21 déc. 2004 à 10:17
Non c pour une appli intranet ou j'ai des tables temporaires qui sont vides au debut de ma page et qui sont vides a la fin fin de ma page....
21 déc. 2004 à 10:13
Je me suis juste permis de faire une petite modif toute bete :
$r=mysql_fetch_row($req1);
if((count($r)) > 1) {
$nb_visiteurs = 'visiteurs connectés';
}
else {
$nb_visiteurs = 'visiteur connecté';
}
echo 'Il y a actuellement ',$r[0],' ',$nb_visiteurs,' sur le site (depuis 4 minutes)';
@+
21 déc. 2004 à 10:02
a ++
21 déc. 2004 à 09:28
20 déc. 2004 à 13:17
Si la version est stable logiquement ca plante pas (comme le disai mon grand pere il disai aussi que les bonne chose se perde .... snif)
20 déc. 2004 à 13:14
a ++
20 déc. 2004 à 13:11
20 déc. 2004 à 12:57
j'aime pas trop le or die perso mais bon, un @ masque tout, je préfère ça quand tu mets une version stable de ton site, en beta j'enlève le @ pour voir les éventuelles erreurs...
a ++
20 déc. 2004 à 12:46
++
20 déc. 2004 à 11:59
je fais ça tout de suite
20 déc. 2004 à 11:58
a ++
20 déc. 2004 à 11:48
++
20 déc. 2004 à 11:29
Bref pour tout ce qui est compteur de connectés ou données transitoires c'est parfait ;-)
a ++
20 déc. 2004 à 11:26
Concernant l'utilisation des tables en memoires grace a l'option heap (ou memory selon la version) à part sur les pertes de données y a t'il des risques autres ou des commandes un peu plus particuliaires a utiliser ca va peut etre me servir ;) (ca me donne des idées...)
20 déc. 2004 à 10:43
a ++