Cookies e Sessioni
Come usare cookies e Sessioni. Codice di esempio
Cookies verso sessioni
- cookies: sono dati salvati permanentemente in locale sul tuo pc (a meno che non scadano o non vengano ripuliti da te: pulire la cache);
- session: i dati nelle variabili di sessione hanno validità solo all'interno di una sessione, se la sessione scade (timeout) o viene chiusa dall'utente i valori delle variabili di sessione vengono.
Creare cookies e sessione
Creare un cookie
setcookie("email_log",1,time()+86400);
Dove:
-email_log = nome cookie
-1= valore.
Tale valore potrebbe anche essere impostato con una variabile In questo caso
setcookie("email_log", $var, time()+86400);
Creare una sessione
$_SESSION['id'] = $variabile
Come si vede la sessione ha un valore derivato da una variabile ma non ha un tempo di scadenza ma non ha un tempo di scadenza.
Il cookies ha un valore interno che potremmo utilizzare ma ha un tempo di scadenza.
Utilizzare i cookies e il loro valore
$nome = $_COOKIE['nome_utente'];
usare un cookie e il suo valore
<?php
// verifico se il cookie esiste
if (isset($_COOKIE['email_log'])) {
//utilizo il valore del cookies
$nome = $_COOKIE['email_log'];
echo $nome;
}
?>
Cancellare cookies
setcookie("nome_utente", null, time()-3600);
Usare una sessione e il suo valore
<?php Session_start();
// verifico se il cookie esiste
if (isset($_SESSION['email_log'])) {
//utilizo il valore del cookies
$nome = $_SESSION['email_log'];
echo $nome;
}
?>
Cancellare sessione
Session_unset();
session_destroy();
Uso combinato di sessioni e cookies
Session_start();
$cookie_value= $_SESSION[value];
$cookie_name = $_SESSION[name];
setcookie($cookie_name, $cookie_value, time() + (86400 * 30));
Perché usare le sessioni per trasmettere I dati
I cookies hanno un tempo di esistenza mentre le sessioni si estinguono se si chiude il browser /pc oppure se si effettua un settaggio di php.ini
Per questo le sessioni sono adatte per trasmettere i dati all’interno del sito
Ad esempio nel processo di invio con email e messaggio di invio di successo le sessioni sono più
adatte perche’ non scadono
Riassunto differenze cookies/ sessioni
In PHP, come in altri linguaggi di programmazione lato server, i cookie e le sessioni sono utilizzati per memorizzare informazioni relative agli utenti durante le loro interazioni con un'applicazione web. Ecco le differenze tra cookie e sessioni in PHP:
Cookie
- Un cookie in PHP è un piccolo file di testo memorizzato sul computer dell'utente.- Viene inviato dal server al browser dell'utente tramite intestazioni HTTP.
- I cookie possono essere letti e scritti sia lato server che lato client.
- Sono utilizzati per memorizzare informazioni sul computer dell'utente, come preferenze, identificatori di sessione, dati di tracciamento e altro ancora.
- Possono essere persistenti o di sessione, e scadono in base alle impostazioni di durata.
Sessioni
- Le sessioni in PHP sono un meccanismo lato server per memorizzare dati relativi agli utenti durante una sessione di navigazione.- Le informazioni sulla sessione sono memorizzate sul server, solitamente in file di sessione o in un database.
- Le sessioni sono temporanee e vengono eliminate una volta che la sessione dell'utente termina o scade.
- Possono contenere una vasta gamma di dati, come dati di autenticazione, carrelli della spesa, preferenze dell'utente, ecc.
Sintesi delle differenze
In sintesi, mentre i cookie sono file di testo memorizzati sul lato client e possono essere persistenti o di sessione,le sessioni in PHP sono gestite lato server e possono contenere una vasta gamma di dati relativi alla sessione dell'utente.
Entrambi sono utilizzati per mantenere lo stato dell'utente durante le interazioni con un'applicazione web, ma hanno modalità di implementazione e caratteristiche leggermente diverse.