Comment créer un cookie en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2019-07-26 11:18:46
Thèmes : webmaster - php - script - cookie
Question

Comment faire pour créer un cookie en PHP ?

Réponse

PHP fourni la fonction setcookie() pour créer un cookie. Cette fonction nécessite jusqu'à huit arguments et doit être appelée avant la balise <html>. Pour chaque cookie, cette fonction doit être appelée séparément.

setcookie(nom, valeur, expiration, path, domain, security, httponly);

Voici le détail de tous les arguments de la fonction setcookie pour créer un cookie en PHP :

  • Nom définit le nom du cookie et est stocké dans une variable d'environnement appelée HTTP_COOKIE_VARS. Cette variable est utilisée pour accéder aux cookies.

  • Valeur définit la valeur de la variable nommée et correspond au contenu que vous souhaitez réellement stocker.

  • Expiration spécifie une heure future en secondes depuis 00:00:00 GMT le 1er janvier 1970. Après cette heure, le cookie deviendra inaccessible. Si ce paramètre n'est pas défini, le cookie expire automatiquement lorsque le navigateur Web est fermé.

  • Path spécifie les répertoires pour lesquels le cookie est valide. Un seul caractère barre oblique permet au cookie d'être valide pour tous les répertoires.

  • Domain peut être utilisé pour spécifier le nom de domaine et ou sous-domaines et doit contenir au moins deux points pour être valide. Tous les cookies ne sont valables que pour l'hôte et le domaine qui les a créés.

  • Security peut être défini sur 1 ou TRUE pour indiquer que le cookie ne doit être envoyé que par transmission sécurisée à l'aide de HTTPS, sinon, sur 0 ou FALSE, ce qui signifie que le cookie peut être envoyé par HTTP.

  • Httponly peut être défini sur 1 ou TRUE pour indiquer que le cookie ne sera accessible que par le protocole HTTP.

L'exemple suivant créera deux cookies: nom et âge. Ces cookies expireront au bout d'une heure.

<?php
setcookie("nom", "John Doe", time()+3600, "/","", 0, 0);
setcookie("age", "32", time()+3600, "/", "", 0, 0);
?>
<html>
<head>
<title>Exemple pour créer un cookie en PHP</title>
</head>
<body>
<?php echo $_COOKIE["nom"];?>
<br />
<?php echo $_COOKIE["age"];?>
</body> 
</html>