COMPTEUR DE PERSONNES PRÉSENTES SUR LE SITE

Utilisateur anonyme - 20 juil. 2007 à 18:03
V4mp Messages postés 21 Date d'inscription samedi 22 septembre 2007 Statut Membre Dernière intervention 30 septembre 2007 - 22 sept. 2007 à 11:32
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/43521-compteur-de-personnes-presentes-sur-le-site

V4mp Messages postés 21 Date d'inscription samedi 22 septembre 2007 Statut Membre Dernière intervention 30 septembre 2007
22 sept. 2007 à 11:32
MySQL 20fois mieux je pense, mais pas mal il faut que tu face un script antiflood il y 'en n'a qui s'amuse a envoyer des requetes en boucle un simple bot en php peut le faire et provoque un bug :s..

Et pour les cookies ça m'inspire pas confiance :}!
Utilisateur anonyme
7 août 2007 à 17:52
Je n'aime pas trop le système avec les cookies.
Certains internautes désactivent ce mode.
Comme on le dit plus haut la méthode php / mySQL est mieux.
6/10.
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
6 août 2007 à 11:12
Mais dans ce cas là, ça regarde plutôt le développer qui utilise ma source; je ne vais pas rajouter de création de fichiers si ça ne sert que dans de rares cas...

Et aussi, je ne vois pas quels pourraient être ces problèmes, chez PHP.net ils ne signalent que l'envoi d'un cookie après le premier envoi de données au client.
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
6 août 2007 à 00:29
pour setcoockie (), je pense que ça peut être intéressant dans les logs, histoire de savoir si une erreur s'est produite et de tenter de la résoudre, même si c'est dans de rares situations.
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
5 août 2007 à 20:34
@Jean84 :
Je vais appliquer tes remarques pour les guillemets... je ne connaissais pas non plus le truc pour les echo (eh bien, j'ai bien fait de poster cette source moi !).

Pour le retour des unlink()... si je le vérifie, c'est pour l'afficher. Si je l'affiche, il vaudrait mieux que je le fasse de manière cachée, c'est à dire que ça apparaisse uniquement dans la source; le visiteur s'en fiche. Mais comment puis-je "cacher" du texte dans la source ?
Et pour le setcookie(), euh, il n'y a pas vraiment d'utilité... si ?
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
5 août 2007 à 19:34
@Naxim :
"Aussi, prends l'habitude de coder en anglais. Des fonctions et noms de variable en français avec une syntaxe en anglais, c'est pas très beau. Et surtout, pas portable du tout."

On ne parle pas de portabilite pour les commentaires du codes :-S
Et je vois pas trop ce que tu veux dire par "[...]Des fonctions et noms de variable en français avec une syntaxe en anglais[...]"

@Chamyky :
Quelques remarques :
- quit a utiliser les ' au lieu des ", fait le completement. Si je regarde ta fonction setcookie() => setcookie("survNum".$nomCookies, "premiereVisite", time()+$expire);
Tu peut utilsier les ' dans ce cas, surtout si tu concatenes.
Idem pour les clefs des tableaux => $_COOKIES['clef']; Pas besoin d'utiliser les " .

----
echo $na;
echo $codAct;

Ne sert a rien, fait plutot echo $na, $codeAct;
C'ets plus lisible et tu ne solicite pas 2 fois le navigateur.

---
Tu ne verifies pas le retour des fonctions unlink() et setcookie(). D'apres leurs prototype, elles retournent toutes les 2 un boolean. A toi de verifier donc si leurs actions ont ete realises avec succes ou pas. Et comme l'a suggere Jiminy, les sessions sont plus interessantes dans ce genre de code ;-)

++
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
1 août 2007 à 11:31
@jiminy2 : Ah, en effet... eh bien, dans ce cas là il suffira de créer le dossier, ce n'est pas trop un problème.
Et pour les sessions... encore un truc sur lequel j'ai lu, mais dont je n'ai jamais essayé de me servir... je ne vais pas réécrire la source en utilisant les sessions, mais c'est peut-être plus approprié, oui.
jiminy2 Messages postés 18 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 25 mars 2008
1 août 2007 à 01:05
2 commentaires:

Le problème avec la fonction : @mkdir($cheminDossier);, c'est qu'elle marche pas sur certains serveurs, et le répertoire ne peut pas être créé.

D'autre part, il vaut mieux utiliser les sessions que les cookies, car le navigateur peut ne pas les accepter et la ça marchera pas.
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
23 juil. 2007 à 13:30
@Naixn : Eh bien, ça faisait un bout de temps que j'avais essayé, donc il n'y a pas dû avoir de conflit... j'ai sûrement confondu avec autre chose.
Je regarderais du côté de XAMPP.
Ah, la vérification d'existence... une vieille habitude, à mes débuts j'avais trouvé ça sur un site, et je n'avais pas cherché à faire mieux depuis... il est temps de changer.
Et, coder en anglais, pourquoi pas.
@macleod7 : En effet, j'ai oublié d'expliquer précisément le fonctionnement, je vais modifier tout de suite.
En fait, il suffit d'appeler la fonction surveillerFrequentation() à chaque ouverture de page, avec les arguments appropriés... mais avant que quoi que ce soit ne soit envoyé au client (c'est à dire, aucun fonction echo, et ton code doit être en haut de la page, pour qu'il n'y ai pas de texte avant) car elle fait appel aux cookies.
Et ensuite, n'importe où dans n'importe quelle page (à condition bien sûr d'avoir fait l'include) tu peux appeler la fonction lireFrequentation(), qui retournera le nombre de visiteurs actuellement.
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
23 juil. 2007 à 13:20
Bonjour,
J'aurais aimé utilisé cette source, à la place d'un service de site externe, j'ai donc mis cette source dans un fichier que j'ai appellé visitor.php, et je souhaiterais appeller ce script dans une autre page, j'ai donc fait une include du fichier et ensuite appellé la fonction, mais apparement cela mais des erreurs, vu qu'il y ait trois fonctions laquelle appeller ? ou doit je mettre tout ce code dans ma page principale, ce qui allourdirais la page, merci de vos conseils.
Naixn Messages postés 455 Date d'inscription mardi 17 septembre 2002 Statut Membre Dernière intervention 22 juillet 2007
22 juil. 2007 à 20:04
Personellement sous Mac, je n'ai absolument jamais eu aucun de pb pour installer un serveur MySQL... Jamais eu cette histoire de conflit :-/
Sinon, si tu te sens frileux, tu peux toujours installer XAMPP ( http://www.apachefriends.org/en/xampp-macosx.html )

Sinon pour le code, le coup d'ouvrir les fichiers (avec fopen) pour tester s'ils sont présents sur le disque, ça me semble un peu lourd. Même très lourd. Regarde du côté de la fonction file_exists ( http://fr2.php.net/file_exists ).

Aussi, prends l'habitude de coder en anglais. Des fonctions et noms de variable en français avec une syntaxe en anglais, c'est pas très beau. Et surtout, pas portable du tout.
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
22 juil. 2007 à 11:54
Hum, je ne suis pas sûr que ça rentre vraiment en conflit... j'avais essayé MAMP (l'équivalent de WAMP, logique), mais il me semble que ça fonctionnait d'une façon bizarre... plus tordue que la solution intégrée au système, en fait.
Disons-le tout cru, j'ai sûrement dû abandonner par fainéantise ^^ ! Je devais encore être un peu frileux à ce moment là.
Oui, il faudra vraiment que je me mette au MySQL...
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
22 juil. 2007 à 09:16
Ah, ok pour la fonction, au moins c'est corrigé ;-).
Je reconnais qu'installer un serveur MySQL n'est pas forcément aisé, mais c'est quand même recommendé. L'avantage, c'est que tu peux avoir un énorme nombre de données déportées, triées en cascades, et qui permettront de rechercher énormément d'informations bornées très rapidement (le secret des SGBDR).
Ce serait donc je pense un meilleur outil pour ton script.
Si t'as pas de machine Windows dans le pire des cas pour être sûr d'une bonne installation qui tourne, dommage.
Ca m'étonne quand meme que MySQL rentre en conflit avec apache/php, à moins que ca soit php4 qui soit installé sur ton système ?
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
21 juil. 2007 à 13:19
Oh, mince... la fonction dateComplete() est une fonction toute simple, qui retourne date("YmdHis"). Comme j'utilise très souvent ce format d'heure, j'avais décidé d'en faire une fonction... mais j'ai voulu en affranchir le code présenté sur Codes-sources.
Mais il semblerait que je me sois trompé, j'ai juste enlevé la fonction... je corrige ça.
Et, en réalité j'ai un peu de mal avec les bases de données MySQL... déjà parce que c'est tordu à installer (je suis sous Mac, donc ça entre en conflit avec le serveur Apache/PHP qui est intégré au système) et ensuite parce que... eh bien, j'ai toujours trouvé ça compliqué.
Et puis, là, il suffit de copier-coller le code dans un fichier, et d'appeler les fonctions; alors que si je m'appuyais sur une base, il faudrait d'abord créer la table appropriée, fournir des infos de connexion au script...
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
21 juil. 2007 à 09:30
J'ai 2 petites questions :

- Une méthode "dateComplete()" est utilisée, mais je n'en voit pas sa définition :(. Où est-elle ?

- N'est-ce pas un peu lourd que d'utiliser x fichiers pour x connectés, plutôt que de simplement utiliser une BDD ?

Sinon, rien à redire au niveau du code ;-)
Chamyky Messages postés 24 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 26 juillet 2008
20 juil. 2007 à 18:27
Eh bien, ici l'avantage c'est que c'est facile à mettre en place : quand on appelle la fonction, elle va même jusqu'à créer le dossier spécifié si nécessaire... il n'y a vraiment rien à faire ^^ !

Par contre, je vais encore changer quelque chose : ma fonction chargerValeur est totalement inutile... vu qu'il existe (je l'ai appris aujourd'hui, merci de ne pas rire :p ) file_get_contents.
Utilisateur anonyme
20 juil. 2007 à 18:03
Ta source est pas mal mais bon il existe aussi le php / mySQL comme source.
J'ai rien à dire sur ton code :)
Rejoignez-nous