Gli ultimi tutorial di sviluppo web
 

PHP 5 Cookies


Un cookie è spesso usato per identificare un utente.


Che cos'è un cookie?

Un cookie è spesso usato per identificare un utente. Un cookie è un piccolo file che il server incorpora sul computer dell'utente. Ogni volta che lo stesso computer richiede una pagina con un browser, invierà il cookie troppo. Con PHP, è possibile sia creare e recuperare i valori dei cookie.


Creare Cookies con PHP

Un cookie viene creato con il setcookie() la funzione.

Sintassi

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

È richiesto solo il parametro name. Tutti gli altri parametri sono opzionali.


PHP Creare / recuperare un cookie

L'esempio seguente crea un cookie denominato "user" con il valore "John Doe" . Il cookie scadrà dopo 30 giorni (86400 * 30) . Il "/" significa che il cookie è disponibile in tutto il sito web (in caso contrario, selezionare la directory che preferite).

Abbiamo quindi recuperare il valore del cookie "user" (usando il $ _COOKIE variabile globale). Usiamo anche isset() funzione per scoprire se il cookie è impostato:

Esempio

<?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>
Esempio Run »

Note: Il setcookie() funzione deve apparire prima del <html> tag.

Note: Il valore del cookie viene urlencoded automaticamente quando si invia il cookie, e decodificati automaticamente al momento della ricezione (per evitare urlencoding, uso setrawcookie() invece).


Modifica di un valore del cookie

Per modificare un cookie, è sufficiente impostare (again) il cookie utilizzando il setcookie() la funzione:

Esempio

<?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>
Esempio Run »

Eliminare un biscotto

Per eliminare un cookie, utilizzare il setcookie() funzione con una data di scadenza nel passato:

Esempio

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

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

</body>
</html>
Esempio Run »

Controllare se Cookies sono Abilitato

L'esempio seguente crea un piccolo script che controlla se cookies sono abilitati. In primo luogo, cercare di creare un cookie test con la setcookie() la funzione, poi contare la variabile di matrice $ _COOKIE:

Esempio

<?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>
Esempio Run »

Completa PHP HTTP di riferimento

Per un riferimento completo di funzioni di HTTP, vai alla nostra completa PHP HTTP .