PHP 3. Interazione browser server. PHP e EGPCS 2. PHP e EGPCS 1. Interazione con il browser

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PHP 3. Interazione browser server. PHP e EGPCS 2. PHP e EGPCS 1. Interazione con il browser"

Transcript

1 PHP 3 Interazione con il browser Interazione browser server Quando un browser contatta un server gli invia alcune informazioni (si veda la lezione su HTTP) Ci sono sei tipi di informazioni a cui il server può accedere. Alcune relative alla configurazione del server altre sono passate dal browser al server Collettivamente, si fa riferimento a tali informazioni come EGPCS (Environment, GET, POST, Cookie e Server) Gli script PHP possono accedere a tali informazioni 2 PHP e EGPCS 1 PHP crea sei array globali associativi per contenere le informazioni EGPCS $_SERVER Conserva informazioni sul server $_SERVER['DOCUMENT_ROOT'] $_ENV Conserva i valori delle variabili di ambiente Queste variabili sono importate nello spazio globale PHP dall ambiente in cui il parser PHP è in esecuzione ($_ENV['HOME']) PHP e EGPCS 2 $_GET Conserva i valori passati da un modulo HTML inviato tramite GET $_POST Conserva i valori passati da un modulo HTML inviato tramite POST $_COOKIE Conserva gli eventuali cookie passati tramite una richiesta HTTP $_FILES Conserva informazioni relative ai file che il browser invia al server 3 4

2 Nota Gli array associativi precedenti sono degli alias ai seguenti array associativi HTTP_COOKIE_VARS HTTP_GET_VARS HTTP_POST_VARS Sono array del tipo HTTPX_VARS, dove X è uno degli array analizzati prima Dalla versione PHP sono in disuso, ma potreste trovarli in manuali o codice vecchio Il loro uso adesso è deprecato 5 Esempio <h2 style="text-align:center; color:red;"> Stampa Variabili $_SERVER</h2> <table border cellpadding=2> <tr> <th> Variabile </th> <th> Valore </th> </tr> foreach($_server as $indice => $elemento) { echo "<tr><td>$indice</td> <td>$elemento</td>\n"; </table> (anche con ENV) 6 Accesso a pagine protette Utilizzeremo Autenticazione HTTP Basic Informazioni che troviamo in $_SERVER[ ] Se settate Si può ottenere lo stesso risultato configurando opportunamente il server Apache Tutti i documenti presenti in una data directory saranno protetti da login e password 7 $user = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; if (!isset($user) verifica($user,$password)==false){ header('www-authenticate: Basic realm="trop Secret" '); header('http/ Unauthorized'); echo 'Qui inseriamo il messaggio che deve comparire'; echo 'se si preme il tasto Annulla'; exit; else { echo 'Qui inseriamo il messaggio che deve comparire'; echo 'se l autenticazione è andata a buon fine'; 8

3 Funzione di verifica password function verifica($user, $password) { //qui possiamo accedere ad un database // per verificare se ad $user corrisponde // $password if($user == "ambrogio" && $password ="pippo") return true; else return false; Codice da inserire in ogni pagina da proteggere $user = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; if (!isset($user)){ header('www-authenticate: Basic realm="sezione Protetta del Sito" '); header('http/ Unauthorized');.. Si può gestire il tutto in un modo migliore con le sessioni, dettagli in seguito 9 10 Altro modo per organizzare il codice $auth_ok = 0; $user = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; if(isset($user) && isset($password) && verifica($user,$password)) { $auth_ok = 1; if(!$auth_ok ) { header('www-authenticate: Basic realm="sezione Protetta Sito" '); header('http/ Unauthorized'); else { // PAGINA DA PROTEGGERE 11 Moduli HTML e PHP Si possono usare i moduli HTML per passare dei dati a script PHP Gli script PHP possono ricevere i valori di input passati da un controllo in un modulo usando un nome di una variabile che corrisponde a quella specificata attraverso l attributo NAME Se REGISTER_GLOBALS è settato ad OFF per ricevere un input da un modulo passato con METHOD settato a POST bisogna usare invece $_POST[ NomeVariabile ]; Vedi slide successiva 12

4 Importante!!! A partire da PHP 4.2.1, per motivi di sicurezza, PHP richiede di default un meccanismo differente per ricevere input da un modulo Per ripristinare il vecchio modo di ricevere input da un modulo bisogna settare ad ON la direttiva REGISTER_GLOBALS nel file di configurazione php.ini Ogni variabile relativa ad un modulo è memorizzata in un array associativo accessibile attraverso il nome del controllo Accesso ai parametri di un modulo Per accedere ai parametri di un modulo (valori associati ai controlli del modulo) all interno di uno script PHP usiamo gli array $_POST, $_GET e $_FILE Gli indici (chiavi) degli array sono i nomi dei controlli utilizzati nel modulo In HTML è legale usare il punto (.) all interno di un nome di un controllo, ma in PHP è vietato I punti nel nome di un controllo sono convertiti in underscore (_) nell array Parametri a più valori Il tag SELECT permette di scegliere tra una lista di opzioni Per essere sicuri che PHP riconosca i valori multipli che il browser passa ad uno script è necessario che il valore dell attributo NAME finisca con [ ] Il valore presente nelle collezioni $_POST o $_GET sarà un array invece di una semplice stringa La stessa cosa vale anche per caselle di spunta (checkbox) che hanno lo stesso nome Esempio <select name= linguaggi[] > <option value= c >C</option> <option value= cpp >C++</option> <option value= java >Java</option> </select> $scelte = $_GET[ linguaggi ]; $scelte è un array lungo count($scelte) 15 16

5 Richiesta inviata al server Esempio: Scegli il condimento <FORM METHOD="POST" ACTION=" Parentesi quadre [] Scegli il condimento che preferisci: <BR> <INPUT TYPE="CHECKBOX" NAME="condimento[]" VALUE="ragù"> Ragù <BR> <INPUT TYPE="CHECKBOX" NAME="condimento[]" VALUE="panna" CHECKED> Panna<BR> <INPUT TYPE="CHECKBOX" NAME="condimento[]" VALUE="genovese"> Genovese <P> <INPUT TYPE="submit" VALUE="Invia i dati"> <INPUT TYPE="reset" VALUE="Cancella tutto!"> </FORM> Risultato Codice pasta.php $salsa = $_POST['condimento']; echo "I condimenti che preferisci sono: <br>"; $cnt = count($salsa); for($i=0; $i < $cnt; $i++) { echo "Condimento "; echo $i+1; echo ": $salsa[$i] <br>"; 19 20

6 Risultato di stampa.php Esempio: Indovina i numeri <form METHOD="POST" ACTION="verifica.php"> <h2> Indovina la mia combinazione </h2> Scegli un numero da 1 a 9 <br> <input type="radio" name= "scelta1" value=1 >1. <input type="radio" name= "scelta1" value=9 >9<br> Scegli un secondo numero: <input type="radio" name= "scelta2" value=1 >1. <input type="radio" name= "scelta2" value=9 >9<br> <input TYPE="submit" VALUE="invia"> <input TYPE="reset " VALUE="resetta"> </form> Esempio: verifica.php $com1=3; $scelta1 = $_POST['scelta1']; $com2=9; $scelta2 = $_POST['scelta2']; if (( $scelta1 == $com1 ) && ( $scelta2 == $com2)) print "Hai indovinato i due numeri $com1 $com2!"; elseif (( $scelta1 == $com1 ) ( $scelta2 == $com2)) print "Hai indovinato solo un numero"; else print "Hai sbagliato tutto! "; 23 Esempio: indovina.php <form METHOD="POST" ACTION="verifica.php"> <h2> Indovina la mia combinazione </h2> Scegli un numero da 1 a 9: for($i=1;$i<10;$i++){ Radio button generati dinamicamente echo "<input type=\"radio\" name= \"scelta1\" value=$i >$i "; <br> Scegli un secondo numero: for($i=1;$i<10;$i++){ echo "<input type=\"radio\" name= \"scelta2\" value=$i >$i "; <br> <input TYPE="submit" VALUE="invia"> <input TYPE="reset" VALUE="resetta"> </form> 24

7 Moduli auto-chiamanti È possibile utilizzare lo stesso script PHP sia per generare un modulo sia per elaborarlo All interno dello script possiamo conoscere il nome dello script stesso È sufficiente accedere al valore di $_SERVER['PHP_SELF'] Questa variabile contiene il nome dello script corrente Esempio 1 <html> <head><title> Conversione di Temperatura </title></head> <body> $fahr = $_POST['fahrenheit']; if (is_null($fahr)) { <form action=" echo $_SERVER['PHP_SELF'] " method="post"> Temperatura Fahrenheit : <input type="text" name="fahrenheit"> <input type="submit" name="converti in Celsius!"> </form> Esempio 2 else { $celsius = ($fahr - 32) * 5/9; printf("%.2ff è %.2fC", $fahr, $celsius); </body> </html> Moduli appiccicosi sticky form Sono script PHP che una volta terminata l elaborazione mostrano sia i risultati sia il modulo E.g., dopo una ricerca con Google otteniamo una serie di link soddisfacenti la richiesta più una casella di controllo contenente la richiesta effettuata Il seguente codice per la conversione di gradi Fahrenheit in gradi Celsius ne è un esempio 27 28

8 <html> <head><title> Conversione di Temperatura </title></head> <body> $fahr =$_GET['fahrenheit']; <form action=" echo $_SERVER['PHP_SELF'] " method="get"> Temperatura Fahrenheit : <input type="text" name="fahrenheit" value=" echo $fahr "> <input type="submit" name="converti in Celsius!"> </form> if (!is_null($fahr)) { $celsius = ($fahr -32)*5/9; printf("%.2ff è %.2fC", $fahr, $celsius); </body> </html> In generale Se lo script è invocato senza parametri, allora viene visualizzato il modulo con cui fornire i parametri Se lo script è invocato con parametri allora viene visualizzato il modulo con i valori dei controlli già settati e il risultato dell elaborazione dei parametri forniti Sticky-form per checkbox Bisogna supporre che tutte le checkbox hanno lo stesso nome Si crea un array contenente il valore della checkbox e quello che deve comparire vicino ad essa Si esegue un ciclo foreach per creare la lista delle checkbox eventualmente già spuntate 31 Generazione form $scelte = $_GET['gusti']; if (! is_array($scelte)) { $scelte = array(); <form action=" echo $_SERVER['PHP_SELF'] " method="get"> Scegli i gusti della tua pizza:<br> make_checkboxes('gusti', $scelte, $tipi_condimento); <br> <input type="submit" name="s" value="ordina la pizza!"> </form> 32

9 Parametri di make_checkboxes $name nome del campo checkbox della form (le parentesi quadre [] sono aggiunte dalla funzione) $query parametri attuali della richiesta GET $options array di value=>label per le checkbox tutte le opzioni presenti in $query saranno marcate come checked Funzione per creare le checkbox function make_checkboxes ($name, $query, $options ) { foreach ($options as $value => $label) { printf('<input type="checkbox" name="%s[]" value="%s" ', $name, $value); if (in_array($value, $query)) { echo "checked "; echo "> $label <br>\n"; $value rappresenta il valore della checkbox che sarà contenuto nell array $query se quella checkbox viene selezionat. I valori delle checkbox devono essere le chiavi dell array $options Upload di file 1 Upload di file 2 Attraverso il tag <input type= file name= NomeFile > possiamo inviare un file al server Ricordarsi di settare l attributo ENCTYPE del tag FORM enctype="multipart/form-data" Si può settare nel file php.ini anche la directory dove scaricare temporaneamente i file Settare la direttiva upload_tmp_dir Informazioni sul file inviato si trovano nell array associativo $_FILES[ NomeFile ] Ogni elemento di $_FILE è esso stesso un array di cinque elementi con indici: name type tmp_name error size 35 36

10 Upload di file 3 name Indica il nome del file originale sulla macchina dell utente. type mime-type del file inviato tmp_name Nome temporaneo del file sul server size Grandezza del file inviato error Codice di errore associato all upload del file Upload di file 4 Per verificare se il file è stato scaricato correttamente si usa la funzione is_uploaded_file Esempio if(is_uploaded_file($_file[ NomeFile ][ tmp_name ])) Per spostare il file scaricato in un altra directory si usa la funzione move_uploaded_file Espressioni regolari Espressioni Regolari Si utilizzano quando si ha bisogno di funzionalità più spinte per ricerca di stringhe o meglio in stringhe. Ci sono tre usi 1) Matching Estrazione di info da una stringa Expr. Reg. = Stringa che rappresenta un pattern (insieme, possibilmente infinito) di stringhe. Confrontare una stringa s con l'espressione regolare er consiste nel verificare se er contiene s. 2) Sostituzione Sostituire sottostringhe nuove con quelle trovate (matchate...) 3) Split di stringhe in pezzi di array Array chunk 39 40

11 Caratteri speciali Classi di caratteri ^ caret: inizio della stringa $ : fine della stringa ereg('^dona', 'Maradona') restituisce false ereg('^dona', 'donadoni') Restituisce true Simmetrico per il $. (punto) : rappresenta un singolo carattere ereg('.occa', 'bocca') Restituisce true ereg('c[aeiou]t', 'I cut my hand') ereg('c[aeiou]t', 'My own cat ') Entrambi restituiscono true ereg('c[aeiou]t', 'My certificates') ereg('c[aeiou]t', 'My cronometer') Entrambi false Si può negare (uso di caret differente) ereg('c[^aeiou]t', 'I cut my hand') Viene valutata a false Alternative Sequenze di ripetizione Ereg('cat dog', 'my cat's name is Remo'); Ereg('cat dog', 'my dog's name is Romolo'); Ereg('^([a-z] [0-9])', 'La mia casa'); False Ereg('^([a-z] [0-9])', 'la mia casa'); True Ereg('^([a-z] [0-9])', '1 ragazze per me'); true? 0 oppure 1 * 0 oppure più + 1 oppure più {n {n,m {n, esattamente n almeno n, al più m almeno n ereg('(ca)+t', 'cacacacacat') True ereg('^((55[67]{1) (087) (056))/[0-9]{6$', $Matricola)) 43 44

12 Subpatterns Utilizzo di parentesi per creare subpatterns ereg('a (very)+ big dog', 'it is a very very big dog') true 45

PHP 3. Interazione con il browser

PHP 3. Interazione con il browser PHP 3 Interazione con il browser Interazione browser server Quando un browser contatta un server gli invia alcune informazioni (si veda la lezione su HTTP) Ci sono sei tipi di informazioni a cui il server

Dettagli

Il tag form indica l'inizio della costruzione di un modulo. Necessita del tag di chiusura

Il tag form indica l'inizio della costruzione di un modulo. Necessita del tag di chiusura LE FORM Le form, note in italiano anche come moduli sono delle strutture che permettono all'utente di inserire dei dati o di effettuare delle scelte. Le form, prese singolarmente non sono nient'altro che

Dettagli

Programmazione Web D B M G. Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

HTML Interazione con l utente

HTML Interazione con l utente HTML Interazione con l utente Il web è interattivo e per questo motivo una pagina html deve prevedere la possibilità, per l'utente, di inviare informazioni o effettuare delle scelte. Il linguaggio HTML,

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti

Dettagli

Corso di PHP. Prerequisiti. 6.2 PHP e il web 2. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.2 PHP e il web 2. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.2 PHP e il web 2 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità continuiamo con l illustrazione di alcune importanti

Dettagli

Modulo o Form in Html

Modulo o Form in Html Pagina dinamica E un documento contenente oggetti, dati e informazioni che possono variare anche in base all iterazione dell utente con il documento stesso. Un esempio classico è quello di una persona

Dettagli

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web Dati View Control

Dettagli

Il linguaggio PHP. Elementi base

Il linguaggio PHP. Elementi base Il linguaggio PHP Elementi base Il Linguaggio PHP PHP è un acronimo ricorsivo che sta per PHP Hypertext Preprocessor Sintassi di base: un blocco di scripting PHP può stare ovunque in un documento, inizia

Dettagli

HTML: FORM. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

HTML: FORM. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni HTML: FORM Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Form Text Radio Select CheckBox TextArea Button ... L'elemento serve per delimitare un modulo

Dettagli

Programmazione Web D B M G. Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard

Dettagli

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1 Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1 Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Il linguaggio HTML Programmazione Web Concetti di base Le interfacce utente in HTML I form Il passaggio dei parametri contenuti nei form Il linguaggio HTML Concetti di base Concetti di base HTML: HyperText

Dettagli

Array, Funzioni e interazione con l utente

Array, Funzioni e interazione con l utente Array, Funzioni e interazione con l utente Laboratorio di Progettazione Web AA 2010/2011 Claudio Lucchese / Chiara Renso ISTI- CNR claudio.lucchese@isti.cnr.it Gli array sono contenitori in grado di memorizzare

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Il linguaggio HTML Programmazione Web Concetti di base Le interfacce utente in HTML I form Il passaggio dei parametri contenuti nei form Il linguaggio HTML Concetti di base Concetti di base HTML: HyperText

Dettagli

PHP & MySQL. Giselda De Vita

PHP & MySQL. Giselda De Vita PHP & MySQL Giselda De Vita - 2014 1 Per creare un applicazione WEB su APACHE, in linguaggio PHP, con Base Dati MySQL, possiamo lavorare in locale o in rete. Per lavorare in locale abbiamo bisogno di installare

Dettagli

HTML 6. Il modulo. Tipi di controlli. Esempio di modulo. I moduli a.k.a. form

HTML 6. Il modulo. Tipi di controlli. Esempio di modulo. I moduli a.k.a. form I moduli a.k.a. form HTML 6 Il modulo Un modulo è un'area della pagina predisposta per accettare dei dati in ingresso dall'utente Gli utenti forniscono dati al WEB server che restituisce una risposta (pagina

Dettagli

HTML 6. I moduli a.k.a. form

HTML 6. I moduli a.k.a. form HTML 6 I moduli a.k.a. form 1 Il modulo Un modulo è un'area della pagina predisposta per accettare dei dati in ingresso dall'utente Gli utenti forniscono dati al WEB server che restituisce una risposta

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

Mantenimento dello stato

Mantenimento dello stato Mantenimento dello stato Laboratorio Progettazione Web AA 2010/2011 Claudio Lucchese / Chiara Renso ISTI- CNR claudio.lucchese@isti.cnr.it Abbiamo visto come il passaggio di informazioni (parametri) tra

Dettagli

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

I moduli HTML Interazione per l invio di informazioni in Internet

I moduli HTML Interazione per l invio di informazioni in Internet I moduli HTML Interazione per l invio di informazioni in Internet Sviluppo di siti web UD09 Fablab Design Interazione e uso dei moduli Uno dei fattori che ha decretato il successo del Web è senz'altro

Dettagli

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato Introduzione al linguaggio PHP Hypertext preprocessor Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato Lato server: vuol

Dettagli

Mantenimento dello stato

Mantenimento dello stato Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it Abbiamo visto come il passaggio di informazioni (parametri) tra le pagine possa avvenire

Dettagli

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp Installazione di EasyPhp Scaricare la versione più recente di EasyPhp dal sito ufficiale (http://www.easyphp.org/). Scegliere la versione di sviluppo (DEVELOPMENT SERVER) più adatta al proprio sistema

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" HTML: frame i frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

Array, Funzioni e interazione con l utente

Array, Funzioni e interazione con l utente Array, Funzioni e interazione con l utente Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it Gli array sono contenitori in grado di memorizzare una sequenza di

Dettagli

Laboratorio di Informatica (Chimica)

Laboratorio di Informatica (Chimica) Laboratorio di Informatica (Chimica) HTML: Elementi Avanzati. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@dico.unimi.it Walter Cazzola

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

HTML e interattività FORM

HTML e interattività FORM HTML e interattività FORM Interattività delle pagine web I moderni siti web non sono più soltanto un insieme di pagine da leggere con testo e immagini, ma rappresentano uno strumento per interagire con

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML: frame HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" i frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

HTML Sintassi di HTML Tag principali per i contenuti I Forms

HTML Sintassi di HTML Tag principali per i contenuti I Forms Lezione 1 HTML Sintassi di HTML Tag principali per i contenuti Tag principali per i contenuti I Forms L HTML (HyperText Markup Language) g è il linguaggio gg di markup utilizzato per veicolare le informazioni

Dettagli

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore );

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore ); Array Esercizio 1 Implementare un servizio che permetta il login di utenti ad un sistema e la possibilità di visualizzare articoli. Il servizio riceve in ingresso, tramite GET, l username e la password

Dettagli

Interazione con l utente : i moduli.

Interazione con l utente : i moduli. Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa

Dettagli

PHP ESSENTIALS #8. By WI400 Team. : files, streaming

PHP ESSENTIALS #8. By WI400 Team. : files, streaming PHP ESSENTIALS #8 By WI400 Team : files, streaming files leggere da ifs scrivere su ifs PHP 5 magic Files: leggere dal file/system Accedere ai files significa accedere al filesystem del server nel quale

Dettagli

HTML. Es: La prossima parola è in <b>neretto</b> Es: La prossima parola è in neretto

HTML. Es: La prossima parola è in <b>neretto</b> Es: La prossima parola è in neretto HTML Il linguaggio HTML (HyperText Markup Language) utilizza annotazioni (tag) per descrivere come verrà visualizzato il documento sul browser di un client. L HTML non è un linguaggio di programmazione

Dettagli

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP

Dettagli

Internet, il web e il linguaggio HTML. percorso 3. Form

Internet, il web e il linguaggio HTML. percorso 3. Form Form Se le pagine web utilizzassero il linguaggio HTML limitatamente ai soli tipi di tag visti sino a questo punto, la comunicazione tra impianto tecnologico (computer, dati, programmi ecc.) ed utente

Dettagli

HTML FORM E PHP. Programmazione Web 1

HTML FORM E PHP. Programmazione Web 1 HTML FORM E PHP Programmazione Web 1 Form Un insieme di elemen5 in una pagina web con cui l'utente interagisce per inviare informazioni ad uno script Realizzazione di due cose la pagina contente il form

Dettagli

Esercizi su JavaScript, DOM e Web Storage

Esercizi su JavaScript, DOM e Web Storage Linguaggi e tecnologie per il Web prof. Riccardo Rosati Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma, a.a. 2017/2018 Esercizi su JavaScript, DOM e Web Storage Esercizio

Dettagli

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore In genere il metodo alert() è usato per verificare il valore delle variabili durante la fase di correzione degli errori (debugging), fase che può essere svolta anche con l ausilio di appositi programmi

Dettagli

04/05/2011. Lezione 6: Form

04/05/2011. Lezione 6: Form Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

Guida introduttiva al PHP

Guida introduttiva al PHP Fabio Castellini 26/01/2016 Guida introduttiva al PHP Cos'è il PHP? Il PHP è un linguaggio di scripting interpretato, simile al JavaScript, per intenderci, originariamente concepito per la programmazione

Dettagli

PHP 4. Conservazione dello stato

PHP 4. Conservazione dello stato PHP 4 Conservazione dello stato Conservazione dello stato HTTP è STATELESS, ovvero ogni richiesta genera un processo che ha il compito di servire un file e poi viene eliminato Ogni richiesta è sostanzialmente

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 Il nostro obiettivo Programmazione Web Il linguaggio PHP Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

Programmazione Web D B M G. Il linguaggio PHP

Programmazione Web D B M G. Il linguaggio PHP Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

PHP funzioni. Prof. Francesco Accarino

PHP funzioni. Prof. Francesco Accarino PHP funzioni Prof. Francesco Accarino Lavorare con le date Con php è possibile mostrare la data corrente(ora e/o giorno e/o mese e/o anno), sotto qualsiasi forma. La funzione chiave è date();. tabella

Dettagli

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" HTML: frame I frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" HTML: frame I frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML: frame HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" I frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

HTML Settima lezione. 7 Aprile di Ivano Stranieri

HTML Settima lezione. 7 Aprile di Ivano Stranieri HTML 4.01 Settima lezione 7 Aprile 2004 di Ivano Stranieri 0 Lezione precedente Cosa sono i FRAME A cosa servono i FRAME Sintassi Attributi Collegamenti e NOFRAME IFRAME Vantaggi e svantaggi dei FRAME

Dettagli

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML JavaScript Caratteristiche del JavaScript Javascript consente di rendere dinamiche le pagine HTML Javascript è un linguaggio di programmazione con il quale è possibile produrre applicazioni eseguibili

Dettagli

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Accesso ai dati di un form HTML. Struttura di base dei form HTML

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Accesso ai dati di un form HTML. Struttura di base dei form HTML I form HTML ed il web dinamico Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica orario.html Uso di form HTML per inviare dati nel web dinamico partenza arrivo data INVIA

Dettagli

APPLICAZIONI WEB E INTRANET CON PHP

APPLICAZIONI WEB E INTRANET CON PHP APPLICAZIONI WEB E INTRANET CON PHP Novembre 2005 Dott. Ing. Bianchini Stefano CSS Concetti di base Cascatine Syle Sheets (CSS) è uno degli standard del W3C che consentono di controllare l aspetto visivo

Dettagli

Linguaggi di scripting

Linguaggi di scripting Linguaggi di scripting In generale uno script è un piccolo programma (al limite una sola istruzione) il cui codice viene inserito all'interno di una pagina HTML o collegato ad esso, e interpretato dal

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Introduzione Anno accademico 2017-2018 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni e Sergio

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) Goy - a.a. 2009/2010 Programmazione Web 1 Gli oggetti HTTP request e HTTP response -I Vi ricordate?

Dettagli

PHP. Linguaggio di scripting lato server (progettato specificatamente per il Web)

PHP. Linguaggio di scripting lato server (progettato specificatamente per il Web) PHP Linguaggio di scripting lato server (progettato specificatamente per il Web) Inserimento di codice PHP in una pagina XHTML (sul server): Interpretazione del codice PHP (sul server) Generazione di una

Dettagli

JavaScript (4) Programmazione lato client. document.forms[] Oggetto form. Oggetto form. È uno degli oggetti più importanti del DOM

JavaScript (4) Programmazione lato client. document.forms[] Oggetto form. Oggetto form. È uno degli oggetti più importanti del DOM Programmazione lato client JavaScript (4) Oggetto form Oggetto form È uno degli oggetti più importanti del DOM Durante la lettura di un file HTML, viene creato un array con tante celle quanti sono i moduli

Dettagli

Dott.ssa Adriana Pietramala

Dott.ssa Adriana Pietramala Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala a.pietramala@mat.unical.it Riferimenti Sito del corso: Manuale PHP http://www.php.net/download-docs.php Editor di

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" HTML: frame i frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

Il linguaggio PHP. (Hypertext Preprocessor) Ing. E. Tramontana. E. Tramontana - PHP

Il linguaggio PHP. (Hypertext Preprocessor) Ing. E. Tramontana. E. Tramontana - PHP Il linguaggio PHP (Hypertext Preprocessor) Ing. E. Tramontana Funzioni Come in altri linguaggi, le funzioni in PHP permettono di definire delle routine, utili per elaborare dei dati (per esempio passati

Dettagli

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014 Schema 2 Basi di Dati-IX Corso di Laurea in Informatica Anno Accademico 2013/2014 Paolo Baldan baldan@math.unipd.it http://www.math.unipd.it/~baldan Basi di dati e web: nozioni generali Basi del linguaggio

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML: frame HTML il linguaggio per creare le pagine per il web Parte II: elementi "complessi" i frame servono per suddividere il browser in parti indipendenti all interno delle quali si possono caricare

Dettagli

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

I form HTML ed il web dinamico

I form HTML ed il web dinamico I form HTML ed il web dinamico Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica Uso di form HTML per inviare dati nel web dinamico orario.html partenza arrivo from=torino&to=roma&day=31/03/07

Dettagli

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet:

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet: Università degli Studi di Camerino Corso di Laurea in Informatica A.A. 2015/2016 Prova Scritta di Programmazione Web, 21 Febbraio 2017 VIII Appello Docenti: Francesco Tiezzi e Luca Tesei Nome e Cognome:

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2016/2017

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2016/2017 Laboratorio Progettazione Web Il linguaggio PHP Array Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2016/2017 Overview Introduzione sugli array Array Numerici Array Associativi Array Multidimensionali

Dettagli

Le basi dell'upload di files

Le basi dell'upload di files Le basi dell'upload di files In questa serie di articoli tratteremo un aspetto particolare della programmazione per il web, ovvero il processo di upload di files. Si tratta di un operazione non esente

Dettagli

LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST

LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST L'oggetto Request può essere considerato come l'esatto contrario dell'oggetto Response, infatti mentre quest'ultimo invia dati al browser, Request serve a

Dettagli

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17 Indice generale Introduzione...xiii Perché Node.js?... xiii Il Web... xiii Nuove tecnologie...xiv Cos è esattamente Node.js?...xiv A chi si rivolge questo libro?...xvi Come usare questo libro...xvi Scaricate

Dettagli

MySQL. Esercizio 1. Soluzione

MySQL. Esercizio 1. Soluzione MySQL Esercizio 1 Implementare un servizio di API, che permette di accedere alle informazioni contenute nel dataset http://dati.toscana.it/dataset/lista-comuni-colpiti. In particolare, l API deve permettere

Dettagli

Il Web come Interfaccia Utente di un Sistema Informativo

Il Web come Interfaccia Utente di un Sistema Informativo Web e basi di dati Il Web come Interfaccia Utente di un Sistema Informativo Occorre un meccanismo di interazione con il DBMS (attraverso il server Web) per la specifica di query e/o modifiche, es.. basate

Dettagli

NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) E N G I N E = I

NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) E N G I N E = I Esempio base: tabella amici Creare un sistema informatico che permetta di memorizzare il cognome, nome e data di nascita degli amici. Quindi creare una tabella per memorizzare i valori richiesti. Si chiede

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Connessione al DB con PHP Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web PHP e i files Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it Da PHP e possibile accedere e manipolare i file che risiedono nel disco del server. In particolare

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2017/2018

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2017/2018 Laboratorio Progettazione Web Il linguaggio PHP Array Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2017/2018 Overview Introduzione sugli array Array Numerici Array Associativi Array Multidimensionali

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web Il linguaggio PHP le istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER

1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzi: Informatica - CORSO DI ORDINAMENTO e Progetto ABACUS Anno Scolastico: 2004-2005 1. Schema concettuale della

Dettagli

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage

Dettagli

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013 Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità

Dettagli

Tito Flagella - Il protocollo HTTP

Tito Flagella - Il protocollo HTTP Tito Flagella - tito@link.it Il protocollo HTTP Il protocollo HTTP È il protocollo standard tramite il quale i server Web rispondono alle richieste dei client (inizialmente i browser); È basato su un modello

Dettagli

I form HTML ed il web dinamico. Uso di form HTML per inviare dati nel web dinamico. Struttura di base dei form HTML

I form HTML ed il web dinamico. Uso di form HTML per inviare dati nel web dinamico. Struttura di base dei form HTML I form HTML ed il web dinamico Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica Uso di form HTML per inviare dati nel web dinamico orario.html partenza arrivo from=torino&to=roma&day=31/03/07

Dettagli

ISTITUTO ISTRUZIONE SUPERIORE "Q. Sella" BIELLA

ISTITUTO ISTRUZIONE SUPERIORE Q. Sella BIELLA 1) [40pt]Scrivere il codice html per la visualizzazione della form di figura e aggiungere il codice Javascript che realizzi le seguenti operazioni dopo aver cliccato sul pulsante Invia. Se non risulta

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

APPLICAZIONI WEB E INTRANET CON PHP

APPLICAZIONI WEB E INTRANET CON PHP APPLICAZIONI WEB E INTRANET CON PHP Novembre 2005 Dott. Ing. Bianchini Stefano Funzioni per stringhe in Php In Php esistono varie funzioni per elaborare stringhe: Crittazione,lunghezza, reverse, conversioni

Dettagli

JQuery. <script src=" </script> <script src= js/main.

JQuery. <script src=  </script> <script src= js/main. JQuery Esercizio 1 Implementare un applicazione Web lato client che visualizzi il risultato delle API comuni.php e popolazione.php sottoforma di tabella. In particolare, nel caso della comuni.php prevedere

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli