PHP - LES COOKIES Arrêtez de baver !
Non vous n'êtes pas tombés sur une succulente recette de cuisine
... mais bien sur un sujet souvent méconnu des créateurs de Sites Web... les
Cookies !
- SOMMAIRE -
1°) Qu'est-ce qu'un Cookie ?
2°) À quoi servent-ils ?
3°) Comment les utiliser sur mon site ?
1 - Qu'est-ce qu'un Cookie ?Un Cookie peut être comparé à un petit jeton qu'on dépose dans votre disque dur et qui contient des informations sous forme de texte.
Oui ! Les cookies ne sont que de simples petits fichiers texte.
Ils sont très utiles pour certaines utilisations, notamment pour les achats en ligne, ou encore les forums. Il est donc recommandé des les accepter , et cela sans crainte...
En effet, les Cookies ont subis quelques idées reçues sur la toile. Ces fichiers texte qui viennent se déposer sur votre disque sont souvent comparés à des virus... Que nenni... Ces petits cookies ne sont que des "témoins" de passage sur une page ou de clic sur un lien par exemple. Ils ne peuvent recueillir
aucune information provenant de votre machine !!!
Il existe deux types de Cookies sur la toile, ceux avec des pépites et ceux avec .... oups pardon, je m'égare ....
Reprenons, il y a donc les Cookies de session et les Cookies permanents.
Les Cookies de session sont ceux qui disparaissent à la fermeture de votre navigateur Web.
Les Cookies permanents quant à eux possèdent une date d'expiration fixée par le developpeur du site que vous avez visité.
Un Cookie permanent peut durer 10 secondes, comme 10 ans. (si vous ne les supprimez pas manuellement bien entendu...)
Voici ce qu'on peut lire dans les aides des navigateurs internet :
[Internet Explorer] enregistre chaque cookie dans un fichier différent.
[Mozilla Firefox] enregistre tous ses cookies dans un seul fichier.
[Opera] enregistre tous ses cookies dans un seul fichier et le chiffre (impossible de les modifier sauf dans les options du logiciel)
[Safari] enregistre tous ses cookies dans un seul fichier. La modification est possible mais très peu aisée, à moins de passer par les options du logiciel.
2 - À quoi servent-ils ?C'est très simple, ils témoignent d'un fait ! Le Cookie communique avec le site web et lui dit par exemple que vous avez visité le site il y'a 15 jours, ou encore que vous vous êtes connecté en tant que membre il y'a deux jours et que vous n'avez donc pas a retaper vos identifiants.
On peut imaginer plein d'autres scénarios !
3 - Comment les utiliser sur mon site ?On envoie un cookie au visiteur via la fonction setcookie().
- Code:
-
<?php setcookie('mon_cookie', 'Bonjour', time() + 365*24*3600); ?>
(le code contenant la fonction setcookie() doit être placé avant tout code HTML !)
Cette fonction accepte 3 paramètres.
Le premier concerne le nom du Cookie. Le deuxième contient la valeur du cookie (associée au nom), et enfin la date d'expiration !
Attention !!! Le dernier paramètre est bien la date d'expiration et non la durée
Généralement on utilise la fonction time() qui indique la date actuelle, et on y ajoute une durée en secondes ! Ici 365*24*3600 soit une valeur en secondes égale à 1 AN !
Ce Cookie expirera donc dans un an.
Voici un exemple en image de mon Cookie d'identification sur Sims artists
Vous remarquerez que notre joli forum est bon cuisinier, il envoie pas mal de cookies à ses utilisateurs
À présent, apprenons à récupérer les informations...
Toutes les valeurs insérées dans vos Cookies se récupèrent via la super-variable $_COOKIE !
- Code:
-
<?php echo $_COOKIE['mon_cookie']; ?>
Le code ci-dessus affichera : Bonjour
Pour modifier un Cookie déjà existant il suffit de rappeler la fonction setcookie() avec le même nom, le Cookie sera alors écrasé et remplacer par le nouveau.
À noter que la plupart des navigateurs n'acceptent qu'une vingtaine de Cookies par site ! N'en abusez pas trop, surtout si vous faites un régime
MODE D'EMPLOI
N'hésitez pas à remercier l'auteur de ce tutoriel ou à faire partager votre expérience personnelle. Si vous avez créé quelque chose en suivant le tuto pourquoi pas la poster afin de la montrer à l'auteur
-----------------------------------------
Pour d'éventuelles questions, c'est par ici et si vous souhaitez en apprendre plus sur le sujet, rendez-vous dans la salle travaux pratiques
Bonne journée