Una sessione è un modo per memorizzare le informazioni (in variables) per essere utilizzato su più pagine.
A differenza di un cookie, le informazioni non sono memorizzate sul computer dell'utente.
Che cosa è una sessione PHP?
Quando si lavora con un'applicazione, si apre, fare alcune modifiche, e poi si chiude. Questo è molto simile a una sessione. Il computer sa chi sei. Si sa quando si avvia l'applicazione e quando si finisce. Ma su internet c'è un problema: il server web non sa chi sei o cosa fai, perché l'indirizzo HTTP non mantiene lo stato.
Le variabili di sessione risolvono questo problema memorizzando le informazioni utente da utilizzare su più pagine (eg username, favorite color, etc) . Per impostazione predefinita, le variabili di sessione durano fino a quando l'utente chiude il browser.
Così; Le variabili di sessione contengono informazioni su un singolo utente, e sono a disposizione di tutte le pagine in una sola applicazione.
Suggerimento: Se avete bisogno di un deposito permanente, si consiglia di memorizzare i dati in un database di .
Avvio di una sessione di PHP
Una sessione è iniziata con il session_start() la funzione.
Le variabili di sessione sono impostate con la variabile globale PHP: $ _SESSION.
Ora, creiamo una nuova pagina chiamata "demo_session1.php" . In questa pagina, iniziamo una nuova sessione di PHP e impostare alcune variabili di sessione:
Esempio
<?php
// Start the session
session_start();
?>
<!DOCTYPE
html>
<html>
<body>
<?php
// Set session
variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"]
= "cat";
echo "Session variables are set.";
?>
</body>
</html>
Esempio Run » Note: Il session_start() funzione deve essere la prima cosa nel documento. Prima di qualsiasi tag HTML.
Ottenere PHP sessione dei valori delle variabili
Successivamente, creiamo un'altra pagina chiamata "demo_session2.php" . Da questa pagina, ci sarà accedere alle informazioni di sessione abbiamo impostato sulla prima pagina ("demo_session1.php") .
Si noti che la sessione variabili non sono passati singolarmente a ogni nuova pagina, invece sono recuperati dalla sessione abbiamo aperto all'inizio di ogni pagina ( session_start() ).
Si noti inoltre che tutti i valori delle variabili di sessione vengono memorizzati nella variabile globale $ _SESSION:
Esempio
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous
page
echo "Favorite color is " . $_SESSION["favcolor"]
. ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"]
. ".";
?>
</body>
</html>
Esempio Run » Un altro modo per mostrare tutti i valori delle variabili di sessione per una sessione utente è quello di eseguire il seguente codice:
Esempio
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
Esempio Run » Come funziona? Come fa a sapere che sono io?
La maggior parte delle sessioni di impostare un-chiave utente sul computer dell'utente che sembra qualcosa di simile: 765487cf34ert8dede5a562e4f3a7e12. Poi, quando si apre una sessione in un'altra pagina, si esegue la scansione del computer per un-chiave utente. Se c'è una corrispondenza, accede a quella sessione, in caso contrario, si avvia una nuova sessione.
Modificare una variabile PHP Session
Per modificare una variabile di sessione, basta sovrascrivere:
Esempio
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
to change a session variable, just overwrite it
$_SESSION["favcolor"] =
"yellow";
print_r($_SESSION);
?>
</body>
</html>
Esempio Run » Distruggere una sessione PHP
Per rimuovere tutte le variabili di sessione globali e distruggere la sessione, uso session_unset() e session_destroy() :
Esempio
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
remove all session variables
session_unset();
// destroy the
session
session_destroy();
?>
</body>
</html>
Esempio Run »