Esercitazione PHP

PHP HOME Introduzione a PHP Installazione PHP Sintassi PHP Commenti PHP Variabili PHP PHP Eco/Stampa Tipi di dati PHP Stringhe PHP Numeri PHP PHP matematica Costanti PHP Operatori PHP PHP Se...Altro...Altro Passaggio PHP Ciclo PHP Funzioni PHP Array PHP Superglobali PHP RegEx PHP

Moduli PHP

Gestione dei moduli PHP Convalida del modulo PHP Modulo PHP richiesto URL/e-mail del modulo PHP Modulo PHP completo

PHP avanzato

Data e ora PHP PHP Include Gestione dei file PHP Apri/Leggi file PHP Creazione/scrittura di file PHP Caricamento file PHP Cookie PHP Sessioni PHP Filtri PHP Filtri PHP avanzati Funzioni di callback PHP PHP JSON Eccezioni PHP

PHP OOP

PHP Che cos'è OOP Classi/Oggetti PHP Costruttore PHP PHP distruttore Modificatori di accesso PHP Ereditarietà PHP Costanti PHP Classi astratte PHP Interfacce PHP Tratti PHP Metodi statici PHP Proprietà statiche PHP Spazi dei nomi PHP Iterabili PHP

Database MySQL

Database MySQL MySQL Connect MySQL Crea DB MySQL Crea tabella Dati di inserimento MySQL MySQL Ottieni l'ultimo ID MySQL inserisce più MySQL preparato MySQL Seleziona dati MySQL dove MySQL Ordina per MySQL Elimina dati Dati di aggiornamento MySQL Dati limite MySQL

PHP XML

Parser XML PHP Analizzatore PHP SimpleXML PHP SimpleXML - Ottieni PHP XML espatriato PHP XML DOM

PHP - AJAX

Introduzione all'Ajax AJAX PHP Database AJAX XML AJAX Ricerca in tempo reale AJAX Sondaggio AJAX

Esempi PHP

Esempi PHP compilatore PHP Quiz PHP Esercizi PHP Certificato PHP

Riferimento PHP

Panoramica di PHP matrice PHP Calendario PHP Data PHP Directory PHP Errore PHP Eccezione PHP File system PHP Filtro PHP PHP FTP PHP JSON Parole chiave PHP PHP Libxml Posta PHP PHP matematica PHP Varie PHP MySQLi Rete PHP Controllo dell'output PHP RegEx PHP PHP SimpleXML Flusso PHP Stringa PHP Gestione delle variabili PHP Analizzatore XML PHP Zip PHP Fuso orario PHP

Sessioni PHP


Una sessione è un modo per memorizzare informazioni (in variabili) da utilizzare su più pagine.

A differenza di un cookie, le informazioni non vengono memorizzate sul computer dell'utente.


Che cos'è una sessione PHP?

Quando lavori con un'applicazione, la apri, apporti alcune modifiche e poi la chiudi. Questo è molto simile a una Sessione. Il computer sa chi sei. Sa quando avvii l'applicazione e quando la termini. Ma su internet c'è un problema: il web server 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 sull'utente da utilizzare su più pagine (ad esempio nome utente, colore preferito, ecc.). Per impostazione predefinita, le variabili di sessione durano fino a quando l'utente non chiude il browser.

Così; Le variabili di sessione contengono informazioni su un singolo utente e sono disponibili per tutte le pagine di un'unica applicazione.

Suggerimento: se hai bisogno di una memoria permanente, potresti voler archiviare i dati in un database .


Avvia una sessione PHP

Viene avviata una sessione con la session_start()funzione.

Le variabili di sessione vengono impostate con la variabile globale PHP: $_SESSION.

Ora creiamo una nuova pagina chiamata "demo_session1.php". In questa pagina, iniziamo una nuova sessione PHP e impostiamo 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>

Nota: lasession_start()funzione deve essere la prima cosa nel tuo documento. Prima di qualsiasi tag HTML.



Ottieni i valori delle variabili di sessione PHP

Successivamente, creiamo un'altra pagina chiamata "demo_session2.php". Da questa pagina, accederemo alle informazioni sulla sessione che abbiamo impostato nella prima pagina ("demo_session1.php").

Si noti che le variabili di sessione non vengono passate individualmente a ogni nuova pagina, ma vengono recuperate dalla sessione che apriamo all'inizio di ogni pagina ( session_start()).

Si noti inoltre che tutti i valori delle variabili di sessione sono archiviati 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>

Un altro modo per mostrare tutti i valori delle variabili di sessione per una sessione utente consiste nell'eseguire il codice seguente:

Esempio

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

Come funziona? Come fa a sapere che sono io?

La maggior parte delle sessioni imposta una chiave utente sul computer dell'utente simile a questa: 765487cf34ert8dede5a562e4f3a7e12. Quindi, quando una sessione viene aperta su un'altra pagina, esegue la scansione del computer per una chiave utente. Se c'è una corrispondenza, accede a quella sessione, in caso contrario, avvia una nuova sessione.


Modifica una variabile di sessione PHP

Per modificare una variabile di sessione, è sufficiente sovrascriverla:

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>

Distruggi una sessione PHP

Per rimuovere tutte le variabili di sessione globali e distruggere la sessione, utilizzare 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>

Esercizi PHP

Mettiti alla prova con gli esercizi

Esercizio:

Crea una variabile di sessione denominata "favcolor".

session_start();
["favcolor"] = "green";