Gli ultimi tutorial di sviluppo web
 

PHP 5 sedute


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 »