Exemple
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 tout le (otherwise, select the directory you prefer) que (otherwise, select the directory you prefer) .
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:
<!DOCTYPE html>
<?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 Définition et utilisation
Le setcookie() fonction définit un cookie à envoyer avec le reste des en- têtes HTTP.
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.
Le nom du cookie est automatiquement attribué à une variable du même nom. Par exemple, si un cookie a été envoyé avec le nom "user" , une variable est automatiquement créé appelé utilisateur $, contenant la valeur du cookie.
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).
Syntaxe
setcookie( name,value,expire,path,domain,secure,httponly );
Paramètre | La description |
---|---|
name | Champs obligatoires. Indique le nom du cookie |
value | Optionnel. Indique la valeur du cookie |
expire | Optionnel. Indique si le cookie expire. La valeur: time() + 86400 * 30, mettra le cookie expire dans 30 jours. Si ce paramètre est omis ou défini à 0, le cookie expirera à la fin de la session (when the browser closes) se (when the browser closes) . Par défaut est 0 |
path | Optionnel. Indique le chemin du serveur du cookie. Si réglé sur "/" , le cookie sera disponible dans l'ensemble du domaine. Si la valeur "/php/" , le cookie ne sera disponible que dans le répertoire php et tous les sous-répertoires de php. La valeur par défaut est le répertoire courant que le cookie est situé dans |
domain | Optionnel. Indique le nom de domaine du cookie. Pour le cookie disponible sur tous les sous - domaines de example.com, mis domaine "example.com" . Réglage à www.example.com fera le cookie uniquement disponible dans le sous-domaine www |
secure | Optionnel. Indique si le cookie ne doit être ou non transmis via une connexion sécurisée HTTPS. TRUE indique que le cookie ne sera défini que si existe une connexion sécurisée. Par défaut est FAUX |
httponly | Optionnel. Si vrai le cookie ne sera accessible que via le protocole HTTP (the cookie will not be accessible by scripting languages) les (the cookie will not be accessible by scripting languages) . Ce paramètre peut aider à réduire le vol d'identité par des attaques XSS. Par défaut est FAUX |
Détails techniques
Valeur de retour: | TRUE en cas de succès. FAUX en cas d'échec |
---|---|
PHP Version: | 4+ |
PHP Changelog: | PHP 5.5 - Un attribut Max-âge a été inclus dans l'en-tête Set-Cookie envoyé au client PHP 5.2 - Le paramètre httponly |
autres exemples
Exemple
Plusieurs dates viennent à échéance pour les cookies:
<?php
$value = "Hello world!";
// cookie will expire when the
browser close
setcookie("myCookie", $value);
// cookie will expire
in 1 hour
setcookie("myCookie", $value, time() + 3600);
// cookie
will expire in 1 hour, and will only be available
// within the php
directory + all sub-directories of php
setcookie("myCookie", $value,
time() + 3600, "/php/");
?>
<html>
<body>
...some code...
</body>
</html>
»Exécuter exemple Exemple
Pour modifier un cookie, vient de mettre (again) à setcookie() (again) le cookie en utilisant la setcookie() fonction:
<?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 Exemple
Pour supprimer un cookie, utilisez le setcookie() fonction avec une date d'expiration dans le passé:
<?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 Exemple
Créer 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:
<?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 <PHP HTTP Référence