Cookies&Gâteaux Secs - Postez vos fonctions inutiles ici :D [PHP&Div] - PHP - Programmation
Marsh Posté le 20-11-2002 à 17:17:59
salut fred999
en quoi le cookie est permanent ? y a pas de date de validité donc à la fermeture du browser il est détruit non ?
pourquoi écraser les cookies en en créant plusiseurs identiques ?
et enfin la question stupide : t'as bien un refresh après ?
Marsh Posté le 20-11-2002 à 17:25:30
Haaaaaaaaaaa un cookie sans date limite est mort à la fermeture du brouteur
Pourtant, je pensais avoir bien lu la doc de php.net
Alors comment fait-on,? Est-on obligé de faire une sinistre cuisine à la :
Code :
|
Sinon, pourquoi écraser le cookie? C'est pour éviter confusion en cas de double compte. Je ne me souviens plus pourquoi c'est là, mais je crois que sans, j'avais rencontré des problèmes.
Quant au refresh, qu'entends-tu par là? Un refresh "forcé", ou bien le simple fait de relancer la vérification à chaque clic?
Merci!
Marsh Posté le 20-11-2002 à 17:28:19
faut pas l'ecrire dans l'autre sens, j'avais cru lire je sais plus ou que les cookies etait sette dans l'ordre inverse d'apparition (peut me plante completement ceci dit)
Marsh Posté le 20-11-2002 à 17:30:33
In PHP 3, multiple calls to setcookie() in the same script will be performed in reverse order. If you are trying to delete one cookie before inserting another you should put the insert before the delete. In PHP 4, multiple calls to setcookie() are performed in the order called.
voila, donc c valable uniquement pour php3
Marsh Posté le 20-11-2002 à 17:35:40
Hum ça marche comme ça donc... j'y toucherai pas (désolé pour la propreté, mais c'est trop de boulot depuis cet été d'avoir pondu ce site).
Sinon, joce, pour la cuisine qui fait un cookie permanent, tu vois autre chose?
J'ai regardé sur les scripts des autres sections de mon site, c'est le même binz (10.000 heures de validité )
Marsh Posté le 20-11-2002 à 17:36:15
joce a écrit a écrit : In PHP 3, multiple calls to setcookie() in the same script will be performed in reverse order. If you are trying to delete one cookie before inserting another you should put the insert before the delete. In PHP 4, multiple calls to setcookie() are performed in the order called. voila, donc c valable uniquement pour php3 |
J'ai vu ça, mais étant ignorant en la matière...
Marsh Posté le 20-11-2002 à 17:39:59
Fred999 a écrit a écrit : Hum ça marche comme ça donc... j'y toucherai pas (désolé pour la propreté, mais c'est trop de boulot depuis cet été d'avoir pondu ce site). Sinon, joce, pour la cuisine qui fait un cookie permanent, tu vois autre chose? J'ai regardé sur les scripts des autres sections de mon site, c'est le même binz (10.000 heures de validité ) |
non je fais pareil sauf que je marque 60*24*365
Marsh Posté le 20-11-2002 à 17:46:06
C'est exactement ce que je viens de faire
Heu c'est pas en secondes un cookie?
Genre "3600*24*365"
Marsh Posté le 20-11-2002 à 17:55:50
Fred999 a écrit a écrit : C'est exactement ce que je viens de faire Heu c'est pas en secondes un cookie? Genre "3600*24*365" |
si j'ai oublie les minutes
Marsh Posté le 20-11-2002 à 17:56:24
Il reste que c'est dommage de devoir procéder à une vieille bidouille pour avoir un cookie permanent!
Marsh Posté le 20-11-2002 à 17:57:40
remarque c'est pas plus mal sinon, bonjour la polution...
eh puis un vrai cookie permanent, ça n'existe pas, à moins d'empecher le client de les effacer
Marsh Posté le 20-11-2002 à 17:58:00
Fred999 a écrit a écrit : Il reste que c'est dommage de devoir procéder à une vieille bidouille pour avoir un cookie permanent! |
ba c'est pas une bidouille, c'est le cookie qui est fait comme ca
Marsh Posté le 20-11-2002 à 17:59:59
C'est pas faux non plus.
Disons que c'est une bonne manière d'empêcher les vrais mouchards de nuire...
Mais là, c'était, comme ça peut l'être pour le forum HFR, une manière de simplifier la vie de l'utilisateur
Marsh Posté le 20-11-2002 à 18:11:50
Toujours un souci
J'appelle donc le fichier suivant par require() :
Code :
|
Et il ne rentre jamais dans le IF, alors que j'ai le cookie suivant :
Code :
|
(j'ai viré pas mal de trucs du cookie)
Pourquoi que ça ne marche pas?
Quand j'effcetuais le test en local, tout fonctionnait bien, mais là, intégré dans une grosse page (avant toute autre instruction), plus rien
Marsh Posté le 20-11-2002 à 19:29:48
Ma foi... Aucun changement.
Quelle était la différence entre les deux?
Marsh Posté le 20-11-2002 à 20:01:27
aucune ... selon la conf de PHP et la version
t'as pas répondu plus haut t'as bien un refresh à chaque fois ?
vérifie donc tes variables de cookies avec ça :
Code :
|
Marsh Posté le 21-11-2002 à 10:46:25
Ca ne marche pas, mais ça y est, j'ai compris pourquoi!
En fait, le site est ordonné comme suit :
- un répertoire-racine, avec les pages "générales"
- un répertoire "Membres" qui contient les pages spécifiques à la partie Membres.
Le cookie est créé dans la partie Membres. Son nom : <mon_login_NT>@LHO[1].txt (LHO étant le nom du répertoire concerné)
Or la vérification doit s'effectuer lors de l'ouverture du site => dans le répertoire-racine.
C'est pourquoi la vérification ne marche pas, alors que, si je la fais en appelant un fichier contenu dans le répertoire Membres, ça marche.
Je vais chercher une solution, mais si quelqu'un a une piste, je suis preneur
Marsh Posté le 21-11-2002 à 10:52:55
Hum le paramètre $path me paraît une piste à explorer.
Quitte à créer un second cookie?
Marsh Posté le 21-11-2002 à 11:22:33
Bon, il semble que je doive encore faire de la cuisine
(je posterai la solution)
Marsh Posté le 21-11-2002 à 11:26:09
Tu as vérifié que tout les cookies sont bien présents avec ma fonction ?
tu devrais peut être modifier ta boucle !empty() pour isoler le paramètre qui fait tout foirer non ?
Marsh Posté le 21-11-2002 à 11:32:06
Oui, j'ai bien vérifié.
En fait, c'est une question de répertoire, comme décrit plus haut.
Et si je crée le cookie avec comme répertoire la racine, je ne peux pas aller fouiller dedans depuis un sous-répertoire.
Tant pis, je vais rajouter une valeur de cookie accessible depuis la racine
Marsh Posté le 21-11-2002 à 11:49:23
j'ai aussi un pb de cookie:
avec setcookie sans date d'expiration (donc disparait apres fermeture explorer)
le fichier cookie n'est pas stoke sur le DD (meme qd la fenetre explorer est encore ouverte)
pourtant l'identifaction de mes users marche tres bien et si on ferme le fenetre il ne peuvent plus se connecter (donc la fonction cookie marche bien.
J'ai juste le index.dat qui change de date .....
En somme c'est pas grave (tout focntionne) mais je voudrais savoir pourquoi le fichier texte est pas creé ...
Merci
Marsh Posté le 21-11-2002 à 11:54:11
si ton cookie est bien lu c'est qu'il est bien créé
t'es sur de regarder au bon endroit ?
Marsh Posté le 21-11-2002 à 11:55:55
Sh@rdar a écrit a écrit : si ton cookie est bien lu c'est qu'il est bien créé t'es sur de regarder au bon endroit ? |
Par rapport à ça,je suis effectivement d'accord avec speedo.
Impossible de trouver le cookie dans Documents and Settings/User/Cookies et dans WinNT/Temporary.../Content.IE5, endroits habituels de stockage des cookies.
Marsh Posté le 21-11-2002 à 11:58:55
le truc ultime pour vérifier que le cookie est bien créé c'est demander l'autorisation pour chaque cookie..
si la page web lit le cookie c'est qu'il est bien là, on peut pas le nier,
la gestion dépend aussi de l'os, du browser etc..
il est peut être gardé en mémoire car valide uniquement pour la session, ça évite un accès disque après tout
Marsh Posté le 21-11-2002 à 12:01:55
en plus la meilleure solution c'est : MOZILLA !
le cookie manager, et tout les outils Js etc.. permettent vraiment de bien vérifier tout, c'est vraiment LE browser pour les développeurs web.
Marsh Posté le 21-11-2002 à 13:01:53
Mon PC tourne déjà de l'?il, je ne vais pas abuser
Et bon, je fais un site "grand public", et l'extrême majorité des gens ont IE.
Marsh Posté le 21-11-2002 à 13:13:32
ah mais je parle pas d'optimiser ton site ni même de le changer, je dis juste que pour tester ton site pendant son développement et pouvoir vérifier tes cookies par exemple, mais aussi le javascript, les liens etc.. Mozilla est une des meilleures solutions
en tout cas développer un site en testant sous IE faut être un peu maso quand même, il avale toutes les erreurs donc ça incite moins à la rigueur
Marsh Posté le 21-11-2002 à 13:45:00
Les erreurs HTML? Clair
Notre site est bourré d'erreurs HTML.
Le Javascript se porte honnêtement (même si un des développeurs a pondu cette sublime fonction (si tu lis ce post, vraiment, je suis désolé, cette fonction doit être une relique d'un temps passé mais bon ) :
Code :
|
Et le PHP gagnerait sans doute à être relu par un codeur expérimenté (j'ai débuté en PHP avec ce site...).
Marsh Posté le 21-11-2002 à 13:48:04
pas mal cette fonction mais j'ai eu mieux :
Code :
|
elle est pas mal celle là hein ?
Marsh Posté le 21-11-2002 à 14:39:28
Bon, finalement, le code suivant marche :
Code :
|
le "/" permet de lire le cookie depuis la racine du site.
Ca fait doublon d'infos, mais tant pis.
Pfiou
Merci tout le monde!!!
Marsh Posté le 21-11-2002 à 15:22:24
c'est bizzarre il me semblait que la raçine est le paramètre par défaut quand non spécifié..
enfin bon si ça fonctionne...
Marsh Posté le 21-11-2002 à 15:40:35
Sh@rdar a écrit a écrit : c'est bizzarre il me semblait que la raçine est le paramètre par défaut quand non spécifié.. enfin bon si ça fonctionne... |
Le paramêtre par défaut est le répertoire courant.
Marsh Posté le 21-11-2002 à 15:46:02
ok.. remarque à force de ne faire des cookies qu'à la raçine...
Marsh Posté le 21-11-2002 à 15:53:23
Moi, j'ai aucun cookie à la racine, ca me permet de tester les conportements avec plusieurs réglages sans passer mon temps à les modifier (j'ai juste à gérer plusieurs copies du site )
Marsh Posté le 20-11-2002 à 16:36:22
SOUCI (PRESQUE) RESOLU, MERCI A TOUS... LE RESTE EST PLUS BAS DANS LE POST
Edit 2 : on avance, on avance!
Edit 3 : les fonctions inutiles, c'est en fond de topic, et c'est multi-langage
Voilà le souci : je n'arrive pas à créer un cookie permanent avec setcookie().
Le code :
Ce qui est carrément louche dans l'histoire :
J'ai une page d'identification qui linke sur la page contenant le code ci-dessus (cas où on vérifie la condition du if, l'existence des variables signifie que l'utilisateur s'est loggé en l'absence d'un cookie).
Or, quand on passe sur le code, le cookie est introuvable (que ce soit dans Documents and Settings ou dans Content.IE5), alors que, quand je me balade sur le site (où l'existence du cookie est vérifiée à chaque page), il ne cause pas de problème!!!
Où est la faute?
Merci d'avance
Message édité par Fred999 le 21-11-2002 à 14:05:07