V4mp
Messages postés21Date d'inscriptionsamedi 22 septembre 2007StatutMembreDernière intervention30 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 :}!
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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és449Date d'inscriptionjeudi 26 août 2004StatutMembreDerniè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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és18Date d'inscriptionmercredi 27 juin 2007StatutMembreDernière intervention25 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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és15Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention21 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és455Date d'inscriptionmardi 17 septembre 2002StatutMembreDernière intervention22 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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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és331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 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és24Date d'inscriptionvendredi 21 juillet 2006StatutMembreDernière intervention26 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.
22 sept. 2007 à 11:32
Et pour les cookies ça m'inspire pas confiance :}!
7 août 2007 à 17:52
Certains internautes désactivent ce mode.
Comme on le dit plus haut la méthode php / mySQL est mieux.
6/10.
6 août 2007 à 11:12
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.
6 août 2007 à 00:29
5 août 2007 à 20:34
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 ?
5 août 2007 à 19:34
"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 ;-)
++
1 août 2007 à 11:31
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.
1 août 2007 à 01:05
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.
23 juil. 2007 à 13:30
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.
23 juil. 2007 à 13:20
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.
22 juil. 2007 à 20:04
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.
22 juil. 2007 à 11:54
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...
22 juil. 2007 à 09:16
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 ?
21 juil. 2007 à 13:19
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...
21 juil. 2007 à 09:30
- 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 ;-)
20 juil. 2007 à 18:27
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.
20 juil. 2007 à 18:03
J'ai rien à dire sur ton code :)