A SUPPRIMER

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 20 déc. 2004 à 10:43
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 5 févr. 2006 à 14:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28282-a-supprimer

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2006 à 23:28
si tu mets pas de point virgule après le include ça marchera pas...
cs_elmagic Messages postés 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2006 à 22:30
Non mais avec tous tes includes et tout le tralala...
cs_elmagic Messages postés 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2006 à 20:09
Quel est ton code ?
cs_elmagic Messages postés 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 févr. 2006 à 14:57
tout simplement lol... en ensuite, ça critique les autres...
cs_elmagic Messages postés 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 janv. 2006 à 10:04
hop c'est fait.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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...

$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...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 janv. 2006 à 17:47
Bah tu dois être le seul alors ;-)
cs_elmagic Messages postés 11 Date d'inscription samedi 21 janvier 2006 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 88 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 47 Date d'inscription vendredi 16 avril 2004 Statut Membre Derniè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és 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 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és 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 juil. 2005 à 14:48
Ok on parlait bien de la même chose alors ;-)
originalcompo Messages postés 65 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 9 octobre 2007 1
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 65 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 9 octobre 2007 1
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

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...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 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és 35 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 15 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 35 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 15 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és 37 Date d'inscription mercredi 3 juillet 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 37 Date d'inscription mercredi 3 juillet 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 37 Date d'inscription mercredi 3 juillet 2002 Statut Membre Derniè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és 99 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 19 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és 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 décembre 2005
14 mars 2005 à 10:40
ben moi non plus... mais çà ne marche pas en tout cas !!!
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 mars 2005 à 20:34
je ne vois pas d'erreur :-(
cs_thibault31 Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 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és 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 décembre 2005
11 mars 2005 à 19:24
pas de changement !!!!
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 mars 2005 à 18:25
essaie if(count($r[0])>1)

je corrige le code ;-)
cs_thibault31 Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 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és 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 mars 2005 à 16:05
Salut ;-)

si bien sûr :-)

a ++
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 11 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 déc. 2004 à 12:03
C'est corrigé dans le code ;-)

merci
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 déc. 2004 à 10:21
lilounec > ah oui merci j'avais fait ça à l'arrache lol ;-)

je modifie

a ++
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 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és 1 Date d'inscription mardi 7 décembre 2004 Statut Membre Dernière intervention 21 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 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és 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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 ;-)

a ++