Interazione con l utente : i moduli.

Documenti analoghi
04/05/2011. Lezione 6: Form

DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE

Lezione 6: Form 27/04/2012

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

ESEMPI DI FORM (da

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

Dott.ssa Adriana Pietramala

Il linguaggio HTML - Parte 3

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche

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

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

I Tag dell html. Parte quarta

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per

19. LA PROGRAMMAZIONE LATO SERVER

PHP: Professional Hypertext Preprocessor

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

Appunti su ASP (Active Server Pages)

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

FORMMAIL.pl. E'presentata una lista dei campi che possono essere utilizzati all'interno della form: CAMPO NECESSARIO DA INSERIRE NELLA FORM

Lezione III: Oggetti ASP e interazione tramite form HTML

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

Obiettivo dell esercitazione

Lavorare con MySQL Parte Seconda.

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere.

Matematica in laboratorio

Lezione nr. 7. >> Come posso recuperare un valore da un campo TEXT?

Esercizi su HTML e JavaScript

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

BASI DI DATI Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

Q U E S T U R A di V A R E S E Ufficio di Gabinetto

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Form Editor. Dove NomeProfilo è personalizzabile.

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

Sicurezza Protezioni in una pagina Web

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

Leggere un messaggio. Copyright 2009 Apogeo

Le espressioni regolari.

Dexma Newsletter System

L amministratore di dominio

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Esercizi di JavaScript

Olga Scotti. Basi di Informatica. Excel

Corso di Archivistica

SCUOLA SECONDARIA DI 1 GRADO GIOVANNI FALCONE Via Ardeatina, 81 Anzio (Roma) APRIRE UN BLOG GRATUITO CON WORDPRESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Applicazione ASP di esempio

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

4.1 FAX Sollecito consegne via (Nuova funzione)

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

MANUALE PER L'UTILIZZO DEL SOFTWARE-SOCI

LA GESTIONE DEI VEICOLI AZIENDALI CON MICROSOFT OUTLOOK

Sicurezza Informatica: Tecniche di SQL INJECTION

Procedura SMS. Manuale Utente

Università degli Studi Roma Tre. Abbreviazione di Carriera (Secondo Titolo)

Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente

POS VIRTUALE INTERNET. SETEFI S.p.A

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Workshop NOS Piacenza: progettare ed implementare ipermedia in classe. pag. 1

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

GUIDA ALL USO DEL PORTALE SERVIZI ONLINE DI AREA BLU

MANUALE EDICOLA 04.05

Sommario Introduzione Accesso alla Segreteria online Inserimento della domanda di immatricolazione Scelta tipo domanda di

Istruzioni di accesso alla propria casella di posta elettronica tramite Zimbra Web Mail

UNIVERSITÀ DEGLI STUDI DELL INSUBRIA

CERTIFICATI DIGITALI. Manuale Utente

Istruzioni per il pagamento con Carta di Credito

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

Introduzione al Foglio Elettronico

NVU Manuale d uso. Cimini Simonelli Testa

Manuale Amministratore bloodmanagement.it

GUIDA DOCENTE ALL USO DELLA PIATTAFORMA EXCHANGE E-LEARNING - Lotus Quickr

Prenota On-line - Manuale Utente

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

HTML 6. I frame. Sintassi di base. I frame e DOCTYPE FRAME. ...head... <FRAMESET lista_attributi> <FRAME SRC= URL lista_attributi>

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Sulla colonna a destra si trovano invece i blocchi dedicati alle utilità e all amministrazione:

A cosa serve GOOGLE MODULI? Con Moduli Google puoi pianificare eventi, fare sondaggi, sottoporre quiz agli studenti o raccogliere informazioni.

Manuale d utilizzo della componente di console di monitoraggio

Percorso: Menù Principale; Archivi di Base; Tabelle Generiche; Nazioni

Primi passi in Moodle

istruzioni per l uso

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Gmail: invio, risposta, allegati e stampa

NUOVA PROCEDURA DI RESET PASSWORD AUTOMATICA

Transcript:

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. Anche se non avete mai costruito una pagina HTML contenente un form, avrete sicuramente riempito almeno uno di essi nel corso della vostra vita da navigator, con i vostri dati quali Nome, Codice Fiscale, Carta di Credito (per acquisti on line). In questa lezione daremo un cenno ai moduli HTML e faremo vedere come PHP acquisisce i dati da tali moduli. I tag che ci servono. Con l introduzione dei moduli (dalla versione 2.0), HTML ha raggiunto la sua massima interattività. Il tag <FORM> Un modulo è incluso tra i tag <FORM> e </FORM> : Sintassi : <FORM method= get post action= script.php >...modulo... </FORM> L attributo method può assumere i valori get o post. Se si imposta method= get, tutte le variabili ed il loro contenuto vengono inviati ad action (lo script php, asp o cgi che si è impostato) tramite una Querystring. Ad esempio, all invio del form il browser sarà indirizzato ad un URL del tipo : script.php?nome=domenico&cognome=nappo&eta=24 Tutto ciò che segue il carattere? viene detto Querystring e consiste in una serie di coppie nome-velore. Il metodo post invece, fa sì che le variabili vengano inviate allo script come un flusso separato e non appaiono nella barra di indirizzi del browser. Inoltre, con il metodo get c è una limitazione per quanto riguarda la quantità di informazioni da poter inviare. Con il metodo post tale limitazione non esiste. Il tag <INPUT> Il tag <INPUT> definisce gli elementi con cui l utente può interagire ed immettere il suo input. La sintassi è la seguente : <INPUT type= tipo_campo name= nome_campo > L attributo type definisce il tipo dell elemento di input da visualizzare, mentre name definisce il nome della variabile che viene passata allo script. In PHP la variabile si chiamerà semplicemente $nome_campo e conterrà il valore immesso dall utente.

I tag che ci servono. Di seguito è riportata una tabella contenente tutti i tipi di input supportati da HTML : type Descrizione TEXT Campo di testo (riga singola) PASSWORD Campo di testo per password (visualizza asterischi) RADIO Pulsanti di scelta (esclusiva) CHECKBOX Caselle di scelta HIDDEN Campo nascosto non visualizzato ma inviato SUBMIT Pulsante per l invio delle informazioni RESET Pulsante per resettare il modulo Il tag <SELECT> La sintassi è la seguente : <SELECT name= nome_campo [size=numero_elementi_visibili][multiple]> <OPTION [selected]> Opzione 1 <OPTION> Opzione 2... </SELECT> Un campo di selezione si presenta come un menu a discesa da cui poter effettuare una sola selezione (nel caso non siano presenti gli attributi size e multiple). Se un opzione è definita selected, quando il form viene visualizzato esso presenterà tale opzione come selezionata. Se è presente l attributo multiple è possibile effettuare selezioni multiple. In tal caso, l attributo size determina quanti elementi possono essere visualizzati (se quelli contenuti nel campo select è in numero superiore, il browser visualizzerà una barra di scorrimento). Il tag <TEXTAREA> E un tag che specifica un area di testo a più righe. In questo caso, data la quantità di informazioni da dover inviare, si dovrebbe utilizzare il metodo post nel tag <FORM>. La sintassi è la seguente : <TEXTAREA name= nome_campo rows=num_righe cols=num_colonne> Eventuale testo di default </TEXTAREA> Nella figura seguente è mostrata una pagina contenente un FORM con tutti i tipi di campo possibili. Utilizzeremo tale modulo per i nostri esempi successivi. Per migliorare la visualizzazione sul browser ed ottenere un aspetto più ordinato, potreste inserire all interno del FORM una tabella divisa in più righe e colonne, e in ogni cella immettere il campo (ad esempio

nella seconda colonna). Nella prima colonna della tabella, sulla riga corrispondente, metterete la descrizione del campo. Fig-1 Esempio di Form HTML. Di seguito è riportato il codice della pagina in questione : <html> <head> <title>modulo HTML</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#ffffff" text="#000000"> <form name="frm" method="post" action="script.php"> <input type="hidden" name="nascosto" value="esempio campo nascosto"> Nome : <input type="text" name="nome"> Cognome : <input type="text" name="cognome"> Email: <input type="text" name="email"> Hai la moto?: <input type="checkbox" name="trasporto[]" value="moto"> Hai l'auto?: <input type="checkbox" name=" trasporto[]" value="auto">

Come accedere all input di utente in uno script PHP. Hai una bici? : <input type="checkbox" name=" trasporto[]" value="bici"> Hai un'età compresa fra : 0-18 <input type="radio" name="eta" value="piccolo"> 19-30 <input type="radio" name="eta" value="medio"> 31-over <input type="radio" name="eta" value="grande"> <select name="professione"> <option selected>scegli la tua professione</option> <option value="studente">studente</option> <option value="commerciante">commerciante</option> <option value="imprenditore">imprenditore</option> <option value="dipendente">dipendente</option> <option value="operaio">operaio</option> <option value="pensionato">pensionato</option> </select> <select name="hobbies[]" size="4" multiple> <option value="musica">musica</option> <option value="sport">sport</option> <option value="computer">computer</option> <option value="libri">libri</option> <option value="grafica">grafica</option> <option value="scienze">scienze</option> </select> <input type="submit" name="submit" value="submit"> <input type="reset" name="reset" value="reset"> </form> </body> </html> Notate il nome che si è dato ai campi che prevedono scelte multiple (tarsporto[] e hobbies[]). Essi verranno memorizzati in un array nello script indicato in action (nel nostro caso è script.php). Notate anche l utilizzo del campo nascosto posto all inizio del form. Come accedere all input di utente in uno script PHP. Non c è niente di più facile da fare in PHP. In questo paragrafo scriveremo il codice di uno script PHP che visualizzerà le informazioni ricevute e validerà l input di utente. Utilizzeremo, a questo scopo, le regular expression per convalidare il nominativo e l email dell utente. Ecco di seguito tutto il codice dello script : <?PHP

/* file script.php esempio per gestione dell'input di utente Autore : Domenico Nappo Data : 10/02/2002 */ $error=0; $msg=''; if ($REQUEST_METHOD=='POST') { // se sono stati ricevuti i dati //controlla i dati inviati if (!check_nominativo($nome)) { $msg='<br>campo nome vuoto o non corretto<br>'; if (!check_nominativo($cognome)) { $msg.='campo cognome vuoto o non corretto<br>'; if (!check_email($email)) { $msg.='campo Email vuoto o non corretto<br>'; if (empty($eta)) { $msg.="scegli l'età<br>"; if (empty($professione)) { $msg.="scegli la professione<br>"; if (!count($hobbies)) { $msg.='scegli almeno un hobby!<br>'; if ($error) { include('modulo.htm'); print $msg; else { print 'I dati ricevuti sono corretti. Ecco il riepilogo: <br>'; print "Nome: $nome <br>"; print "Cognome: $cognome <br>"; print "Email: $email <br>"; print "Età: $eta <br>"; print 'I tuoi mezzi di trasporto sono :<ul>'; foreach($trasporto as $value) { print "<li>$value</li>"; print '</ul>'; print "La tua professione : $professione <br>"; print 'I tuoi hobbies sono :<ul>'; foreach($hobbies as $value) { print "<li>$value</li>"; print '</ul>'; print "<br> Il contenuto del campo nascosto è $nascosto"; // chiusura else not error //chiusura if POST else { // il modulo deve ancora essere visualizzato include ('modulo.htm');

Come accedere all input di utente in uno script PHP. ##################funzioni di utilità per la validazione dell'input############### function check_nominativo($nominativo) { if ((empty($nominativo)) (ereg("[^a-za-z\ ]+",$nominativo,$array))) return 0; else return 1; function check_email($email) { if ((empty($email)) (!ereg("([a-za-z0-9\.]+)(@{1)([a-za-z0-9]{2,)\.([a-za-z0-9]{2,)",$email,$array)) (ereg("([\ \<\>\\\/]+)",$email,$array))) return 0; else return 1;?> All inizio si controlla se sono stati inviati dei dati tramite un form (la variabile d ambiente in questione è $REQUEST_METHOD). Se ci sono dati inviati da un form si passa alla validazione degli stessi, altrimenti di visualizza codice del modulo html contenuto nel file modulo.htm, tramite una semplice chiamata di include(). Quando lo script trova qualche errore o incongruenza nei dati, pone alta la variabile di flag $error e imposta un messaggio nella variabile $msg. Se ci sono errori ( quest si controlla tramite l istruzione if($error) ), si visualizza di nuovo il modulo ed in coda i messaggi di errore memorizzati nella variabile $msg. Se tutti i dati sono corretti, viene visualizzata una pagina contenente il riepilogo delle informazioni. Ad esempio : I dati ricevuti sono corretti. Ecco il riepilogo: Nome: domenico Cognome: nappo Email: mail@mail.it Età: medio I tuoi mezzi di trasporto sono : moto bici La tua professione : studente I tuoi hobbies sono : musica sport libri Il contenuto del campo nascosto è esempio campo nascosto Se ci sono stati errori, come l immissione di un indirizzo email errato, vengono visualizzati gli errori in fondo alla pagina : Campo Email vuoto o non corretto Scegli almeno un hobby! Siamo arrivati al termine dell undicesima lezione. Nella prossima ci sarà un esempio completo descritto nei particolari. Saluti!

?2002 Powered By Domenico Nappo, Domenico Surace e Manuali.net L autore declina ogni responsabilità per eventuali (quanto improbabili) danni recati al sistema per l uso degli script di esempio riportati in questa guida.