[PHP&Div] Cookies&Gâteaux Secs - Postez vos fonctions inutiles ici :D

Cookies&Gâteaux Secs - Postez vos fonctions inutiles ici :D [PHP&Div] - PHP - Programmation

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! :D
 
Edit 3 : les fonctions inutiles, c'est en fond de topic, et c'est multi-langage :D
 
:hello:
 
Voilà le souci : je n'arrive pas à créer un cookie permanent avec setcookie().
 
Le code :

Code :
  1. <? // Si arrivée après saisie, on crée un cookie
  2. if ((!empty($login)) && (!empty($password)) && (!empty($equipe)) && (!empty($type))) {
  3. SetCookie("LHO-ligue" );
  4. SetCookie("LHO-login" );
  5. SetCookie("LHO-password" );
  6. SetCookie("LHO-equipe" );
  7. SetCookie("LHO-type" );
  8. SetCookie("lho" );
  9. SetCookie("LHO-ligue",  "LHO" );
  10. SetCookie("LHO-login",  "$login" );
  11. SetCookie("LHO-password", "$password" );
  12. SetCookie("LHO-equipe",  "$equipe" );
  13. SetCookie("LHO-type",  "$type" );
  14. require ("include/config.php" );
  15. }
  16. else {
  17. require ("include/verifcookie.php" );
  18. }?>


 
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 :hello:


Message édité par Fred999 le 21-11-2002 à 14:05:07
Reply

Marsh Posté le 20-11-2002 à 16:36:22   

Reply

Marsh Posté le 20-11-2002 à 17:17:59    

salut fred999  :hello:  
 
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 ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 20-11-2002 à 17:25:30    

Haaaaaaaaaaa un cookie sans date limite est mort à la fermeture du brouteur :ouimaitre:
 
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 :
  1. setcookie("LHO-password", "$password", time() + 10000000000000000000000);


 
:??:
 
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! :)


Message édité par Fred999 le 20-11-2002 à 17:25:40
Reply

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)

Reply

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

Reply

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é :sweat:)

Reply

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...

Reply

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é :sweat:)




non je fais pareil sauf que je marque 60*24*365 :D

Reply

Marsh Posté le 20-11-2002 à 17:46:06    

C'est exactement ce que je viens de faire [:plat00n2]
 
Heu c'est pas en secondes un cookie?
 
Genre "3600*24*365" :D

Reply

Marsh Posté le 20-11-2002 à 17:55:50    

Fred999 a écrit a écrit :

C'est exactement ce que je viens de faire [:plat00n2]
 
Heu c'est pas en secondes un cookie?
 
Genre "3600*24*365" :D




si j'ai oublie les minutes :D

Reply

Marsh Posté le 20-11-2002 à 17:55:50   

Reply

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! :/

Reply

Marsh Posté le 20-11-2002 à 17:57:01    

*366 pour les années bisextiles. ;) :p

Reply

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  :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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 :o

Reply

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 :jap:

Reply

Marsh Posté le 20-11-2002 à 18:11:50    

Toujours un souci [:kalisto]
 
J'appelle donc le fichier suivant par require() :  
 

Code :
  1. <? // S'il y a un cookie, on vérifie si le DG a des matches/transferts à valider.
  2. // Si c'est le cas, on lui envoie une pop-up.
  3. if ( (!empty($HTTP_COOKIE_VARS["LHO-ligue"])) &&
  4. (!empty($HTTP_COOKIE_VARS["LHO-login"])) &&
  5. (!empty($HTTP_COOKIE_VARS["LHO-password"])) &&
  6. (!empty($HTTP_COOKIE_VARS["LHO-equipe"])) &&
  7. (!empty($HTTP_COOKIE_VARS["LHO-type"]))) {
  8. // etc... traitements divers et variés
  9. <? } ?>


 
Et il ne rentre jamais dans le IF, alors que j'ai le cookie suivant :  
 

Code :
  1. LHO-ligue
  2. LHO
  3. nhl.lfjr.net/LHO/
  4. *
  5. LHO-login
  6. Fred
  7. nhl.lfjr.net/LHO/
  8. *
  9. LHO-password
  10. <mon mot de passe codé en md5>
  11. nhl.lfjr.net/LHO/
  12. *
  13. LHO-equipe
  14. COL
  15. nhl.lfjr.net/LHO/
  16. *
  17. LHO-type
  18. A
  19. nhl.lfjr.net/LHO/
  20. *


 
(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 :/

Reply

Marsh Posté le 20-11-2002 à 18:19:03    

remplace voir $HTTP_COOKIE_VARS par $_COOKIE

Reply

Marsh Posté le 20-11-2002 à 19:29:48    

Ma foi... Aucun changement.
 
Quelle était la différence entre les deux? :??:

Reply

Marsh Posté le 20-11-2002 à 20:01:27    

aucune ... selon la conf de PHP et la version  :D  
t'as pas répondu plus haut t'as bien un refresh à chaque fois ?
 
vérifie donc tes variables de cookies avec ça :
 

Code :
  1. Function Display($array,$sp) {
  2.   foreach ($array AS $Key => $Val) {
  3.     echo "$sp<b>$Key</b> => $Val";
  4.     if (is_array($Val)) {
  5.       echo '  (  <br>';
  6.       Display($Val,$sp.'   ');
  7.       echo "$sp)";
  8.     }
  9.     echo "<br>\n";
  10.   }
  11. }
  12. Display ($HTTP_COOKIE_VARS,'   ');


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 21-11-2002 à 10:31:36    

Merci :)
 
Je teste ça de suite!

Reply

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 :)

Reply

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? :??:

Reply

Marsh Posté le 21-11-2002 à 11:22:33    

Bon, il semble que je doive encore faire de la cuisine :(
 
(je posterai la solution)

Reply

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 ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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 ;)


Message édité par Fred999 le 21-11-2002 à 11:32:12
Reply

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
 

Reply

Marsh Posté le 21-11-2002 à 11:54:11    

si ton cookie est bien lu c'est qu'il est bien créé  :pt1cable:  
 
 
t'es sur de regarder au bon endroit ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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éé  :pt1cable:  
 
 
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.


Message édité par Fred999 le 21-11-2002 à 13:02:08
Reply

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


Message édité par Sh@rdar le 21-11-2002 à 12:00:03

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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. :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 21-11-2002 à 13:01:53    

Mon PC tourne déjà de l'?il, je ne vais pas abuser :o
 
Et bon, je fais un site "grand public", et l'extrême majorité des gens ont IE.

Reply

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


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 21-11-2002 à 13:45:00    

Les erreurs HTML? Clair :lol:
 
Notre site est bourré d'erreurs HTML. [:ddrs55]
 
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 :D) :
 

Code :
  1. function MM_openBrWindow(theURL,winName,features)
  2. {
  3.   window.open(theURL,winName,features);
  4. }


:ouimaitre:
 
Et le PHP gagnerait sans doute à être relu par un codeur expérimenté (j'ai débuté en PHP avec ce site...).


Message édité par Fred999 le 21-11-2002 à 13:45:13
Reply

Marsh Posté le 21-11-2002 à 13:48:04    

pas mal cette fonction mais j'ai eu mieux :
 

Code :
  1. <?
  2. Function Redirection ($url) {
  3.   header ("location:$url);
  4. }
  5. ?>


 
elle est pas mal celle là hein ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 21-11-2002 à 13:48:49    

Joli :lol:

Reply

Marsh Posté le 21-11-2002 à 14:39:28    

Bon, finalement, le code suivant marche :

Code :
  1. SetCookie("LHO-popup",  "$contenu", time() + 31536000, "/" );


 
le "/" permet de lire le cookie depuis la racine du site.
 
Ca fait doublon d'infos, mais tant pis.
 
Pfiou [:psychokwak]
 
Merci tout le monde!!! [:keyzer93]


Message édité par Fred999 le 21-11-2002 à 14:39:52
Reply

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...


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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.

Reply

Marsh Posté le 21-11-2002 à 15:46:02    

ok.. remarque à force de ne faire des cookies qu'à la raçine...  :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

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  :pt1cable: )

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed