Sessioni PHP e cookie

P
Gestione dei file in PHP
Filtri PHP - Convalida e Sanificazione

Le pagine Web devono memorizzare i dati temporaneamente o permanentemente per eseguire correttamente le operazioni di richiesta e risposta. Quasi tutti i linguaggi di sviluppo web forniscono sessioni e cookie per memorizzare le informazioni su client e server. È responsabile di un'esperienza fluida e della sicurezza. In questo tutorial PHP, imparerai a conoscere le sessioni PHP e i cookie. Quindi, tuffiamoci dentro.

Cosa sono i cookie in PHP?

I cookie sono piccoli file nella memoria del computer del cliente. Questi cookie vengono memorizzati nel browser e possono contenere informazioni relative all'utente, alla richiesta, alla risposta e al server. Questi cookie accompagnano la richiesta al server che consente al server di identificare l'utente.

Un utente può anche creare i propri cookie e memorizzare dati in essi. Successivamente, l'utente può accedere a questi cookie.

Come creare un cookie in PHP?

Il metodo PHP setcookies() crea un nuovo cookie.

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

Nella sintassi generale sopra riportata del cookie PHP, è richiesto solo il primo parametro che è il nome del cookie. Gli altri parametri sono facoltativi.

setcookie("my_first_cookie","It contains string");

Come ottenere i cookie e il loro valore in PHP?

Tutti i cookie vengono archiviati nella variabile globale PHP $_COOKIE. Per ottenere il cookie e il suo valore, è sufficiente passare il nome del cookie alla variabile globale. Considerando il cookie sopra creato nell'esempio, osserva la seguente sintassi per ottenere il cookie utilizzando i globali.

$_COOKIE["my_first_cookie"] // will return "It contains String"

Come eliminare i cookie in PHP?

È possibile impostare l'ora di scadenza per un cookie. Trascorso il tempo di scadenza, il cookie si cancellerà automaticamente. Guarda l'esempio qui sotto, in cui creiamo un cookie e ne impostiamo l'ora di scadenza.

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

Nell'esempio sopra, il cookie "my_first_cookie" scadrà dopo un giorno. Tieni presente che il tempo di scadenza del cookie deve essere nel numero di secondi. Pertanto, abbiamo utilizzato la funzione time() che restituisce l'ora corrente e aggiunge il numero di secondi in un giorno, ovvero 86400.

Come aggiornare i cookie in PHP?

Puoi aggiornare un cookie utilizzando lo stesso metodo setcookie(). Basta chiamare la funzione con il nome del cookie e puoi impostare altri parametri del cookie.

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

Nell'esempio sopra, abbiamo chiamato il metodo setcookie() per lo stesso cookie che abbiamo creato nell'esempio precedente. Supponiamo di voler aumentare il tempo di scadenza del cookie da un giorno a due giorni. Semplicemente, modifica il parametro del tempo di scadenza.

Nota: quando i cookie sono impostati, per impostazione predefinita vengono codificati URL durante l'invio della richiesta e decodificati quando ricevuti. Per disabilitare la codifica URL, puoi utilizzare il metodo setrawcookie().

Poiché ora hai familiarità con l'aggiornamento dei cookie, diamo un altro metodo per eliminare un cookie, in particolare, se per il cookie non è impostato un tempo di scadenza. Semplicemente, aggiorna il tempo di scadenza del cookie al passato.

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

Verifica se il tuo browser consente i cookie?

Ecco il semplice trucco con cui è possibile verificare che il browser abbia abilitato o meno i cookie. Imposta un cookie utilizzando il metodo setcookie(). Come sappiamo dall'apprendimento precedente, l'array $_COOKIE memorizza tutti i cookie. Quindi, controlla il conteggio di questo array.

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

Sessioni PHP

Se sei sul tuo computer e utilizzi un'applicazione per un po' di tempo, quindi chiudila. Il computer avrà un record dell'utente dell'applicazione e anche la traccia delle azioni eseguite con l'applicazione. Ma, sul sito web, il protocollo HTTP non mantiene lo stato dell'utente.

Se vuoi persistere e accedere a un valore su più pagine web, la sessione è lì per risolvere questo problema. In questa sezione impareremo come lavorare con le sessioni PHP per memorizzare e accedere ai valori.

Nota: la sessione non è un'archiviazione permanente. Una sessione inizia all'apertura della pagina web e termina quando chiudi quella web. Il database è la soluzione per l'archiviazione permanente che impareremo nella sezione database dei tutorial PHP.

Come avviare una sessione in PHP?

Per avviare una sessione in PHP, utilizzare la funzione session_start(). Assicurati che questa funzione dovrebbe essere chiamata nella parte superiore dello script PHP. Il passaggio successivo consiste nel memorizzare il valore nell'array globale della sessione. Guarda l'esempio completo dell'avvio di una sessione e della memorizzazione dei valori al suo interno.

<?php
// Start the session
session_start();

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

Come ottenere il valore della sessione dall'array globale?

Semplicemente, quando accediamo al valore di cookie dall'array globale di cookie, utilizziamo l'array globale di sessione per accedere al valore di sessione. Guarda il seguente esempio.

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

Come aggiornare la variabile di sessione?

Chiama l'array globale di sessione con il nome della variabile di sessione e assegnagli il nuovo valore.

$_SESSION["favcolor"] = "yellow";

Rimozione della sessione e distruzione della sessione

Rimuovere una sessione significa rimuovere tutti i valori memorizzati nella sessione corrente.

session_unset();

Distruggere una sessione significa fermare la sessione che è stata avviata usando session_start()

session_destroy();

Le sessioni sono protette da una chiave speciale contro l'utente. Sono memorizzati con una chiave come "765487cf34ert8dede5a562e4f3a7e12" nel computer. Quindi, quando la sessione deve accedere al valore memorizzato in essa su un'altra pagina Web del sito Web, questa chiave viene abbinata alla chiave memorizzata nel computer del client.

Per ottenere un riferimento completo delle sessioni php, visita per saperne di più, clicca qui

Gestione dei file in PHP
Filtri PHP - Convalida e Sanificazione

Aggiungi un commento

Rete di tutor

Condividi questo

Impara PHP dalla A alla Z