AVVISO IMPORTANTE: Dato l'elevato numero di richieste, Eternal Curiosity non può accettare nuovi clienti, sia che si tratti di consulenze scritte che di ottimizzazione SEO diretta. Valutiamo solo casi eccezionali e ad alto budget. Per informazioni, vi invitiamo a scriverci a [email protected]

Questo articolo apparteneva al vecchio blog (blog.danilopetrozzi.it), per cui le informazioni potrebbero non essere più aggiornate ed attendibili.

Creare, gestire e tracciare un cookie in PHP

Lo scopo del minitutorial di oggi è quello di insegnarti a creare e manipolare un cookie con delle semplici istruzioni in PHP. Per fare ciò, (ab)useremo della funzione setcookie().

setcookie()

La funzione setcookie() è abbastanza facile da ricordare: 

Gli unici parametri obbligatori sono name e value. Gli altri quattro sono facoltativi.

Analizziamo ogni parametro singolarmente:

  • name: assegna un nome al cookie
  • value: attribuisce questo valore al cookie in esame
  • expire: permette di impostare una scadenza del cookie. Impostando come valore time()+60 il cookie durerà per un solo minuto 
  • path: permette di indicare una path in cui il cookie è valido. Impostando ad esempio /ciao/, il cookie in esame sarà valido sono nella pagina /ciao/ e sue rispettive sottopagine.
  • domain: permette di indicare il dominio in cui il cookie è valido (è possiible usare wildcard per fare riferimento, ad esempio, ai sottodomini)
  • secure: se impostato su TRUE, fa in modo che il cookie sia utilizzato solo in presenza di una connessione HTTPS

Se la funzione setcookie() è riuscita a generare il cookie, restituirà TRUE, altrimenti restituirà FALSE.

Importante: setcookie() fa l’encoding del “value” quando questo viene inserito nel cookie, e il decoding quando viene estrapolato. Per manipolare un cookie in modo diretto (senza che il value venga alterato) devi usare la funzione setrawcookie() 

Creiamo un pò di biscotti!

Ipotizziamo che l’utente ci abbia fornito il suo colore preferito. Supponiamo di voler generare un cookie HTTP per darci la possibilità di “ricordare” questa informazione così da poterla riproporre all’utente. Supponiamo anche di voler far scadere il cookie dopo un mese.

Implementiamo:

Abbiamo correttamente creato un cookie di nome “cookiecolore” che in questo caso contiene il valore “verde” e che durerà per 30 giorni dal momento della generazione.

E se in futuro volessimo prelevare quel cookie per leggerne le informazioni?

Procediamo così:

L’output del codice precedente sarebbe ‘verde’

Nota finale: la variabile $_COOKIE[“”] può essere sostituita con $HTTP_COOKIE_VARS[“”] e quindi il codice precedente può funzionare anche così:

Danilo petrozzi

Ciao! Io sono Danilo Petrozzi, il fondatore di Eternal Curiosity. Oltre a essere un senior SEO Specialist e un Web Developer, è dall'età di 9 anni che mi appassiono a qualsiasi cosa ruoti intorno al web e all'informatica in generale.

Lascia un commento