Accueil > > > TOUT SUR LES COOKIES
TOUT SUR LES COOKIES
Information sur la source
Description
Beaucoup de gens ont du mal avec les cookies, ils les envois avant les headers ou certaines conditions leur échappe (faire que 1 cookie ne soit valable que pour 1 dossier ...) Donc voila une petite aide ...
Source
- - Conditions de la création de cookie :
- * Le client doit les accepter ( lol )
- * Un cookie ne peut pas faire plus de 4Ko (4 Ko c'est quand meme trés gros pour un fichier texte lol, essayez sur note pad vous verez, donc pas la peine de raconter sa life dans le cookie lol)
- * Vous ne pouvez pas avoir plus de 20 cookies sur votre site (limitation de 20 cookies créé par client)
-
- - Syntaxe de la création de cookie :
- setcookie (nom, valeur , expiration , répertoire , domaine , sécurité )
-
- - Explication des variables de la création :
- Nom : Le nom du cookie (nan menteur lol).
- Valeur : La valeur du cookie.
- Expiration : date à laquel le cookie s'efface. Il doit être timestamp Unix. A créer avec time() ou mktrime().(Si il n'y a pas d'expiration mettre Null)
- Répertoire : Désigne le répertoire où le cookie est actif dans votre site. Si il est actif pour tout le site mettez Null
- Domaine : Désigne le domaine où le cookie est actif (votre site quoi). Si vous ne spécifiez pas de domaine mettez Null (c'est généralement le cas).
- Sécurité : Désigne si vous souhaitez que le cookie ne soit communiqué que lors de connexions sécurisées (SSL). Valeur possible : TRUE ou FALSE.
-
- - Condition de création d'un cookie :
- Pour créer un cookie la seul condition (qui pose problème à un grand nombre de personne) c'est que la création du cookie doit être éffectuée AVANT L'ENVOIS DU HEADER DE LA PAGE. Le header contient toutes les infos sur la page (protocol, valeur des cookies ... ) donc vous ne pouvez logiquement pas créer un cookie alors que vous avez déjà envoyé ce qui le contient.
- Vous pouvez tester si le header a été envoyé en utilisant la fonction headers_sent().
-
- Exemple :
- If (headers_sent())
- {
- echo "Trop tard pour la création ...";
- }
- else
- {
- echo "C partiii !!";
- }
-
- - Création du cookie :
- * Cookie simple sans date de validité : setcookie("Mycookie","Coucou");
- // ici le cookie s'appele Mycookie et contient Coucou
- * Cookie qui ne dure que 1 heure : setcookie("Mycookie","Coucou", mktime()+3600); // 3600 >> SECONDES << donc si vous voulez 1 jour par exemple mettez 86400 secondes.
- // ici le cookie s'appele Mycookie, contient Coucou et s'effacera dans 1 heure
- * Cookie valide dans le dossier membre du site http://www.phpcs.com pour 1 heure : setcookie("Mycookie","Coucou", mktime()+3600, "/membre/",".phpcs.com");
- // ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier php de phpcs.com et s'effacera dans 1 heure
- * Cookie valide juste pour le dossier achat sur un serveur SSL (http://www.rueducommerce.fr par exemple) : setcookie("Mycookie","Coucou", mktime()+3600, "/achat/", ".rueducommerce.fr",TRUE);
- // ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier achat du site rueducommerce.fr en mode sécurisé et s'effacera dans 1 heure
-
- - Comment récupérer la valeur d'1 cookie :
- * Vous pouvez récupérer sa valeur de 2 façons :
- + $nomducookie (cette méthode est à bannir car elle n'est pas sur. Utilisez la juste pour vérifier la valeur du cookie quand vous débuggez)
- + $_COOKIE[nomducookie] La valeur est récupérée dans le tableau de register global des cookies. Ce tableau contient toutes les valeurs de cookies que vous créez dans le site. A utiliser OBLIGATOIREMENT !! (sinon je me fache lol)
-
- - Effacement du cookie :
- Pour effacer un cookie, rien de plus simple il suffit de le recréer.
- Dans les exemples plus haut nous avons créé un cookie qui s'appele Mycookie et qui a comme valeur Coucou avec setcookie("Mycookie","Coucou");. Et bien pour l'effacer il y a juste à faire : setcookie("Mycookie");
- Et c'est tout, pas de commande delcookie() ou autre.
-
- Conditions de la création de cookie :
* Le client doit les accepter ( lol )
* Un cookie ne peut pas faire plus de 4Ko (4 Ko c'est quand meme trés gros pour un fichier texte lol, essayez sur note pad vous verez, donc pas la peine de raconter sa life dans le cookie lol)
* Vous ne pouvez pas avoir plus de 20 cookies sur votre site (limitation de 20 cookies créé par client)
- Syntaxe de la création de cookie :
setcookie (nom, valeur , expiration , répertoire , domaine , sécurité )
- Explication des variables de la création :
Nom : Le nom du cookie (nan menteur lol).
Valeur : La valeur du cookie.
Expiration : date à laquel le cookie s'efface. Il doit être timestamp Unix. A créer avec time() ou mktrime().(Si il n'y a pas d'expiration mettre Null)
Répertoire : Désigne le répertoire où le cookie est actif dans votre site. Si il est actif pour tout le site mettez Null
Domaine : Désigne le domaine où le cookie est actif (votre site quoi). Si vous ne spécifiez pas de domaine mettez Null (c'est généralement le cas).
Sécurité : Désigne si vous souhaitez que le cookie ne soit communiqué que lors de connexions sécurisées (SSL). Valeur possible : TRUE ou FALSE.
- Condition de création d'un cookie :
Pour créer un cookie la seul condition (qui pose problème à un grand nombre de personne) c'est que la création du cookie doit être éffectuée AVANT L'ENVOIS DU HEADER DE LA PAGE. Le header contient toutes les infos sur la page (protocol, valeur des cookies ... ) donc vous ne pouvez logiquement pas créer un cookie alors que vous avez déjà envoyé ce qui le contient.
Vous pouvez tester si le header a été envoyé en utilisant la fonction headers_sent().
Exemple :
If (headers_sent())
{
echo "Trop tard pour la création ...";
}
else
{
echo "C partiii !!";
}
- Création du cookie :
* Cookie simple sans date de validité : setcookie("Mycookie","Coucou");
// ici le cookie s'appele Mycookie et contient Coucou
* Cookie qui ne dure que 1 heure : setcookie("Mycookie","Coucou", mktime()+3600); // 3600 >> SECONDES << donc si vous voulez 1 jour par exemple mettez 86400 secondes.
// ici le cookie s'appele Mycookie, contient Coucou et s'effacera dans 1 heure
* Cookie valide dans le dossier membre du site http://www.phpcs.com pour 1 heure : setcookie("Mycookie","Coucou", mktime()+3600, "/membre/",".phpcs.com");
// ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier php de phpcs.com et s'effacera dans 1 heure
* Cookie valide juste pour le dossier achat sur un serveur SSL (http://www.rueducommerce.fr par exemple) : setcookie("Mycookie","Coucou", mktime()+3600, "/achat/", ".rueducommerce.fr",TRUE);
// ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier achat du site rueducommerce.fr en mode sécurisé et s'effacera dans 1 heure
- Comment récupérer la valeur d'1 cookie :
* Vous pouvez récupérer sa valeur de 2 façons :
+ $nomducookie (cette méthode est à bannir car elle n'est pas sur. Utilisez la juste pour vérifier la valeur du cookie quand vous débuggez)
+ $_COOKIE[nomducookie] La valeur est récupérée dans le tableau de register global des cookies. Ce tableau contient toutes les valeurs de cookies que vous créez dans le site. A utiliser OBLIGATOIREMENT !! (sinon je me fache lol)
- Effacement du cookie :
Pour effacer un cookie, rien de plus simple il suffit de le recréer.
Dans les exemples plus haut nous avons créé un cookie qui s'appele Mycookie et qui a comme valeur Coucou avec setcookie("Mycookie","Coucou");. Et bien pour l'effacer il y a juste à faire : setcookie("Mycookie");
Et c'est tout, pas de commande delcookie() ou autre.
Conclusion
Voila je crois ne pas avoir oublié grand chose mais si j'ai oublié quelque chose dite ça peut servir lol
@++ bon coding !!
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|