Dino Geek, cerca di aiutarti

Come utilizzare i cookie in PHP?


I cookie sono una parte fondamentale della gestione delle sessioni in PHP e vengono utilizzati per memorizzare dati sul client che possono essere recuperati successivamente. Questo è particolarmente utile per mantenere lo stato dell’utente tra le pagine di un sito web. Di seguito ti fornirò una guida completa su come utilizzare i cookie in PHP, includendo esempi pratici e fonti affidabili.

  1. Creazione di un cookie

Per creare un cookie in PHP, è possibile utilizzare la funzione `setcookie()`. Questa funzione deve essere chiamata prima che venga generato qualunque output HTML.

```
// Impostare un cookie che scade dopo 1 giorno
setcookie(“username”, “MarioRossi”, time() + 86400, “/”); // 86400 secondi = 1 giorno
?>
```

  1. Lettura di un cookie

Per leggere un cookie, si utilizzano le variabili globali `$_COOKIE`. Se il cookie è stato settato con successo, esso sarà disponibile in questo array.

```
if(isset($_COOKIE[“username”])) { echo “Utente: “ . $_COOKIE[“username”];
} else { echo “Cookie ‘username’ non settato”;
}
?>
```

  1. Modifica di un cookie

Per modificare un cookie, basta impostarlo nuovamente con `setcookie()`, utilizzando lo stesso nome del cookie già esistente.

```
// Modifica del valore del cookie ‘username‘
setcookie(“username”, “LuigiBianchi”, time() + 86400, “/”);
?>
```

  1. Eliminazione di un cookie

Per eliminare un cookie, si deve settare la sua data di scadenza a un valore nel passato.

```
// Eliminare un cookie settando la sua scadenza nel passato
setcookie(“username”, “”, time() – 3600, “/”);
?>
```

  1. Settaggi avanzati

La funzione `setcookie()` accetta diversi parametri che consentono di avere un maggiore controllo sui cookie:

```
bool setcookie ( string $name, string $value = “”, int $expires = 0, string $path = “”, string $domain = “”, bool $secure = false, bool $httponly = false
);
```

- $name: Il nome del cookie.
- $value: Il valore del cookie.
- $expires: La data di scadenza del cookie (in timestamp).
- $path: Il percorso sul server in cui il cookie sarà disponibile.
- $domain: Il dominio in cui il cookie sarà disponibile.
- $secure: Indica se il cookie deve essere trasmesso solamente su connessioni HTTPS.
- $httponly: Se impostato a `TRUE`, il cookie sarà accessibile solo attraverso il protocollo HTTP (non sarà accessibile via JavaScript).

  1. Esempio pratico

Supponiamo di voler creare un sistema di autenticazione molto semplice utilizzando i cookie:

```
// login.php

// Check se il form è stato inviato
if($_SERVER[‘REQUEST_METHOD’] == ‘POST’) { $username = $_POST[‘username’]; $password = $_POST[‘password’];

// Verifica delle credenziali (in un esempio reale, dovresti fare una query al database) if($username "admin" && $password “password”) { // Settaggio del cookie se le credenziali sono corrette setcookie(“user”, $username, time() + (86400 * 30), “/”); header(“Location: welcome.php”); exit(); } else { echo “Credenziali non valide!”; } } ?>

Username:
Password:


```

```
// welcome.php

if(isset($_COOKIE[“user”])) { echo “Benvenuto “ . $_COOKIE[“user”] . “!”;
} else { echo “Devi effettuare il login!”;
}
?>
```

  1. Fonti

1. PHP Manual: [setcookie](https://www.php.net/manual/en/function.setcookie.php)
2. W3Schools: [PHP Cookies](https://www.w3schools.com/php/php_cookies.asp)
3. Mozilla Developer Network (MDN): [HTTP cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)

Queste risorse forniscono una solida base per comprendere e implementare i cookie in PHP, oltre a coprire altri aspetti avanzati della gestione dei dati utente.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo