Uno dei fattori che ha decretato il successo del Web è senz’altro la possibilità di interagire: la possibilità cioè di iscriversi a servizi di vario tipo ( ad esempio mailing list ), ma soprattutto di partecipare a vere e proprie comunità virtuali. Per organizzare questo genere di servizi è necessario raccogliere in qualche modo i dati dell’utente: per farlo si utilizzano, in maniera molto semplice, i moduli ( cioè i form ). Per creare una pagina con dei moduli, bisogna utilizzare l’apposito tag FORM: si tratta di un elemento di blocco, come il < P >, e quindi il tag < FORM > lascia uno spazio prima dell’apertura e dopo la chiusura:
| < FORM >...< / FORM > |
| ACTION = " url " | indica l’URL del programma o della pagina di risposta che processerà i dati |
| NAME = " " | indica il nome del Form |
| METHOD = " valore " | indica il metodo di invio dei dati da parte del protocollo http |
| TARGET = " valore " | Grazie all’attributo TARGET è possibile far aprire i dati del form in una pagina differente rispetto a quella corrente |
I valori dell'attributo METHOD possono essere GET o POST a seconda se si vogliono visualizzare i dati o no nella barra degli indirizzi di Explorer. Con il metodo GET, quindi, la pagina di risposta viene contattata e i dati vengono inviati in un unico step. Nell’URL della pagina di risposta potremo allora vedere tutti i parametri nella barra degli indirizzi ( più precisamente nella "query string", cioè nella "stringa di interrogazione" ) secondo questa forma:
http://www.miosito.it/esempioForm/paginaRisposta.php?nome=Wolfgang&cognome=Cecchin
i dati (nella forma nome del campo = valore del campo) sono appesi alla pagina dopo il punto interrogativo. Alcuni server hanno tuttavia hanno delle limitazioni per quel che riguarda il metodo GET e non consentono di inviare form con valori superiori a 255 caratteri complessivi. Il metodo GET è dunque particolarmente indicato per form con pochi campi e pochi dati da inviare. Nel metodo POST invece l’invio dei dati avviene in due step distinti: prima viene contattata la pagina sul server che deve processare i dati, e poi vengono inviati i dati stessi. Per questo motivo i parametri non compaiono nella query string ( dunque se non si desidera che i parametri siano mostrati all’utente questo metodo è preferibile ). In questo caso non ci sono limiti sulla lunghezza dei caratteri.
Grazie all’ACTION è anche possibile far sì che i dati vengano inviati in e-mail al webmaster ( si tratta infatti a tutti gli effetti di un riferimento a un URL ). Il codice è questo:
< FORM ACTION = " mailto:tuamail@nomeDominio.it?subject=Oggetto predefinito " ENCTYPE = " text/plain " METHOD = " POST " >
L'attributo ENCTYPE serve per fissare il tipo di codifica dei dati inviati.
Abbiamo detto che il principale uso dei form è quello di realizzare pagine di compilazione dati in sequenza, ovviamente grazie anche all'uso dei bottoni che verranno trattati nel prossimo capitolo.