Variabili di Sessione e query database (inserimento, modifica

www.antrag.it
Prof. Ragonesi Antonio
Docente Informatica
Variabili di Sessione e query database (inserimento, modifica, interrogazione)
Esercizio1
Scrivere uno script PHP che imposti la seguente variabile di sessione $_SESSION[‘pagine_caricate’] nel seguente modo:
session_start();
if(IsSet($_SESSION['pagine_caricate']))
$_SESSION['pagine_caricate'] = $_SESSION['pagine_caricate'] + 1;
else
$_SESSION['pagine_caricate'] = 0;
if($_SESSION['pagine_caricate']>0)
echo “Quest’oggi hai caricato ” . $_SESSION['pagine_caricate'] . “ pagine<br>”;
N.B.: la presenza dell’istruzione session_start() è strettamente necessaria prima di settare/usare variabili di sessione.
Salvare lo script con il nome sessioni_lavoro.php nella cartella projects del web server.
D’ora in poi in tutti gli script che verranno sviluppati includere il precedente script usando la seguente istruzione:
include(‘sessioni_lavoro.php');
Nel caso in cui lo script sviluppato si trovi in una sottocartella bisogna opportunamente modificare il precedente
percorso (path) del file; ad es. se viene creato uno script nella sottocartella verifica bisogna modificare l’argomento di
include con ‘../sessioni_lavoro.php’.
Esercizio2
Nel motore MySQL creare un nuovo database denominato esercizi (se non già presente). Definire una tabella
denominata accessi con i seguenti campi (scegliere i tipi di dati più opportuni): utente, data_accesso, durata_secondi.
Modificare lo script del precedente esercizio nel modo indicato sotto (viene suggerita la query di inserimento o
modifica); usare come nome utente il tuo nominativo. Nello script aggiornare i dati di output aggiungendo anche da
quanti minuti lavora l’utente (effettuare gli arrotondamenti usando l’istruzione number_format)
session_start();
if(IsSet($_SESSION['pagine_caricate']))
{
$primo_accesso = $_SESSION['primo_accesso'];
$ultimo_accesso = time();
$durata = $ultimo_accesso - $primo_accesso;
$_SESSION['pagine_caricate'] = $_SESSION['pagine_caricate'] + 1;
//istruzioni di update
}
else
{
$primo_accesso = time();
$_SESSION['pagine_caricate'] = 0;
$_SESSION['primo_accesso'] = $primo_accesso;
//istruzioni di insert
}
if($_SESSION['pagine_caricate']>0)
echo “Quest’oggi hai caricato ” . $_SESSION['pagine_caricate'] . “ pagine<br>”;
Tutti i diritti riservati
www.antrag.it
Prof. Ragonesi Antonio
Docente Informatica
Esercizio3
Nel precedente esercizio viene integrato il calcolo dei minuti della sessione di lavoro usando le seguenti interrogazioni al
database.
$query = "SELECT durata_secondi FROM accessi WHERE utente='antonio' ORDER BY data_accesso DESC LIMIT 1";
if (mysqli_multi_query($conn, $query))
{
if ($result = mysqli_store_result($conn))
{
while ($row = mysqli_fetch_row($result))
$secondi = $row[0];
mysqli_free_result($result);
}
}
$minuti = ($secondi/60);
echo "Quest'oggi hai caricato " . $_SESSION['pagine_caricate'] . " pagine e stai lavorando da $minuti minuti<br>";
Tutti i diritti riservati