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