|
|
|
Usare i cookies con php
|
I cookies(in italiano biscotti) non sono altro che dei semplici file di testo a meno che non si tratta di cookies volatili che vengono salvati nella memoria virtuale per poi cancellarsi alla chiusura del browser.
Nei cookies vi è un blocco di informazioni che il webserver fa salvare dal browser nel pc dell'utente che visita il sito web.
I cookies devono essere trasmessi prima di qualsiasi altro output dal vostro script, per questo è preferibile inserirli nell'header delle pagine web.
Vediamo ora un po di buoni motivi per cui ci viene utile utilizzare i cookies:
1)Possono servire per tenere traccia dei nostri utenti nel nostro sito.
2)Se il nostro sito è un e-commerce tramite i cookies l'utente si puo spostare di pagina in pagina e mantenere nel carrello della spesa tutti gli articoli scelti che poi andrà a confermare nella pagina di conferma.
3)Se si vuole fare una sezione protetta da password possono venirci utili i cookies in modo da non far digitare all'utente ad ogni pagina che visita il suo nomeutente e password.
4)Se nel nostro sito diamo la possibilità all'utente di scegliersi il colore della home, la grandezza dei caratteri ecc ecc è possibile memorizzare queste informazioni in un cookies cosi quando lo stesso utente rientra nel sito avrà le sue impostazioni personalizzate gia di default senza che se le vada a resettare!
Questi sono solo alcuni motivi che ci inducono ad usare i cookies.
Per creare un cookie si usa la funzione setcookie() che al suo interno andremo ad inserire i sei parametri di cui ha bisogno.
Sintassi:
boolean setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]] )
Dei ei parametri che bisogna inserire solo uno è obbligatorio cioè Name , vediamo di capirne uno ad uno a cosa servono.
name: Nome variabile che rappresenta il cookie.
value: Valore che si da alla variabile che rappresenta il cookie.
expire: Default=0 Si inserisce il tempo espresso in secondi per la durata del cookie ( 3600 > 1 ora -- 7200 > 2 ore -- 43200 > 12 ore -- 86400 > 24 ore ).
path: Si inserisce il percorso sul server che sarà valido per quel cookie.
domain: Si inserisce il dominio sul quale il cookie sarà valido.
secure: Ha due valori 0=False , 1=TRUE Se il valore è su TRUE verrà inviato il cookie solo se si tratta di una connessione sicura.
Esempi:
<?php
/***
Questo esempio crea un cookie di nome prova che ha come valore "loggato" e sarà valido per un ora(3600 secondi equivalgono ad un ora)
***/
setcookie("prova","loggato", time()+3600);
?>
/***
Questo esempio crea un cookie di nome secondaprova che avrà facile come contenuto ed è temporaneo perchè non è stato settato il tempo di validità e di default è 0
***/
setcookie("secondaprova","facile");
Si possono settare anche piu' cookie contemporaneamente:
<?php
/***
Invia un cookie di nome prova che ha come valore 10 e sarà valido per un ora(3600 secondi equivalgono ad un ora)
***/
setcookie("prova1","facile", time()+3600);
setcookie("prova2","medio", time()+7200);
setcookie("prova3","difficile", time()+43200);
?>
Ora passiamo alla lettura di un cookie precedentemente creato prendendo in considerazione il primo esempio che abbiamo fatto:
<?php
if($prova == "loggato"){
echo "loggato";
}else{
echo "utente non loggato";
}
?>
Distruggere un cookie
Per eliminare un cookie basta settare la data di scadenza in negativo, cosi facendo facciamo credere al browser che il cookie doveva essere attivo in un tempo prima del presente cosi da farlo eliminare.
<?php
/***
Questo esempio crea un cookie di nome prova che ha come valore "loggato" e sarà rimosso perchè al posto del segno + davanti a 3600 c'è il segno -
***/
setcookie("prova","loggato", time()-3600);
?>
|
|
|