Derniers tutoriels de développement web
 

PHP 5 cookies


Un cookie est souvent utilisé pour identifier un utilisateur.


Qu'est-ce qu'un cookie?

Un cookie est souvent utilisé pour identifier un utilisateur. Un cookie est un petit fichier que le serveur intègre sur l'ordinateur de l'utilisateur. Chaque fois que le même ordinateur demande une page avec un navigateur, il envoie le cookie aussi. Avec PHP, vous pouvez créer et de récupérer les valeurs des cookies.


Créer les Cookies avec PHP

Un cookie est créé avec la setcookie() fonction.

Syntaxe

setcookie( name, value, expire, path, domain, secure, httponly );

Seul le paramètre de nom est requis. Tous les autres paramètres sont facultatifs.


PHP Créer / Récupérer un cookie

L'exemple suivant crée un cookie nommé "user" avec la valeur "John Doe" . Le cookie expirera au bout de 30 jours (86400 * 30) . Le "/" signifie que le cookie est disponible sur le site entier (sinon, sélectionnez le répertoire que vous préférez).

Nous récupérons la valeur du cookie "user" ( en utilisant la variable globale _COOKIE $). Nous utilisons également les isset() fonction pour savoir si le cookie est:

Exemple

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
»Exécuter exemple

Note: Le setcookie() fonction doit apparaître avant le <html> balise.

Note: La valeur du cookie est automatiquement urlencoded lors de l' envoi du cookie, et décodé automatiquement lors de la réception (pour éviter urlencodage, utilisation setrawcookie() à la place).


Modifier une valeur Cookie

Pour modifier un cookie, vient de mettre (again) à setcookie() (again) le cookie en utilisant la setcookie() fonction:

Exemple

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
»Exécuter exemple

Supprimer un cookie

Pour supprimer un cookie, utilisez le setcookie() fonction avec une date d'expiration dans le passé:

Exemple

<?php
// set the expiration date to one hour ago
setcookie("user", "" , time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>
»Exécuter exemple

Vérifiez si les Cookies sont activés

L'exemple suivant crée un petit script qui vérifie si les cookies sont activés. Tout d' abord, essayez de créer un cookie de test avec le setcookie() fonction, comptez alors la variable tableau $ _COOKIE:

Exemple

<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>

<?php
if(count($_COOKIE) > 0) {
    echo "Cookies are enabled.";
} else {
    echo "Cookies are disabled.";
}
?>

</body>
</html>
»Exécuter exemple

Référence complète PHP HTTP

Pour une référence complète des fonctions HTTP, consultez notre complet Référence PHP HTTP .