Guida al linguaggio HTML

4.9 L'elemento FORM

Il linguaggio HTML contiene molti elementi che permettono all'utente di introdurre dati. Il piu' semplice di questi e' ISINDEX, che puo' ricevere una singola linea di testo come input dall'utente. Molto piu' sofisticato e' l'elemento FROM e i suoi sottoelementi associati INPUT, TEXTAREA, e SELECT, che permettono di ricevere input dall'utente in modo molto piu' complesso attraverso le FORM, moduli riempibili che e' possibile introdurre in un documento HTML. L'autore puo' gestire le FORM tramite bottoni tipo radio e check (con l'elemento INPUT ), campi di inserimento a linea singola (ancora usando INPUT), liste selezionabili (con l'elemento SELECT) e campi di inserimento per blocchi di testo (via TEXTAREA).

I dati ricevuti tramite FORM sono spediti al server, in questo caso l'elemento FORM prende l'attributo ACTION, che specifica l'URL al quale vanno spediti i dati. In piu', sempre tramite questo attributo e' possibile specificare il tipo di metodo HTTP usato per spedire i dati -- il metodo GET fa si che i dati vengono aggiunti all'URL come una stringa di query, mentre il metodo POST spedisce i dati come in un BODY di documento HTML, cioe' nello stesso modo in cui il browser riceve i dati di un documento HTML, ma nella direzione opposta.

dot1.gif (103 byte) 4.9.1 Cosa fanno le FORM?

L'elemento FORM vi permette di creare un modulo riempibile: l'utente che legge il documento HTML vedra' la FORM come un insieme di campi di inserimento dati -- egli potra' scrivere informazioni all'interno di alcuni campi, selezionare bottoni e menu pop-up. Quando l'utente spedira' la FORM, i dati saranno codificati e spediti al server, dove andranno gestiti da un qualche programma. In generale, questo viene fatto dai CGI, o programmi Common Gateway Interface, residenti nel server HTTP.


Ecco un esempio (abbastanza stupido) di FORM:

<FORM ACTION="http://bla.bla.bla.edu/cgi-bin/qualche-programma" METHOD=POST>
Primo campo di inserimento: <INPUT NAME="dato1"> <BR>
Secondo campo di inserimento: <INPUT NAME="dato2" VALUE="bang"> <BR>
Terzo campo di inserimento: <INPUT NAME="dato3">  ---
Lista selezionabile: <SELECT NAME="dato4">
<OPTION VALUE="no1">
Rane
<OPTION VALUE="no2">Pesche
<OPTION VALUE="no3">
Orologi
<OPTION VALUE="no4">
Motoslitte
</SELECT>

Per spedire i dati, premi:
<INPUT TYPE="submit" VALUE="Spedisci">. <P>
</FORM>


Potete anche usare le tabelle - TABLE - per aggiustare il layout della vostra FORM). Ecco come appare la FORM:

Primo campo di inserimento:
Secondo campo di inserimento:
Terzo campo di inserimento:

Lista selezionabile:
Per spedire i dati, premi: .


L'utente semplicemente riempie i campi, seleziona valori nelle liste e preme "spedisci" (ovviamente questa FORM tentera' di accedere ad un URL inesistente!).


dot1.gif (103 byte) 4.9.2 Gli attributi dell'elemento FORM

L'attributo ACTION specifica l'URL al quale i dati della form vengono spediti: dovrebbe essere l'URL di un programma o uno script cgi-bin. Se non specificato i dati vengono spediti all'URL del documento visualizzato.

L'attributo METHOD specifica il metodo HTTP da usare per spedire le informazioni al server. Puo' avere due argomenti:

  • GET (di default) - il contenuto della FORM e' aggiunto all'URL (dopo il punto interrogativo) come nelle query ISINDEX.
  • POST - il contenuto della FORM viene spedito al server all'interno del BODY del messaggio. Questo e' il metodo raccomandato, comunque assicuratevi prima di usarlo che il server HTTP lo supporti.

Se scrivete da soli le vostre form, dovete anche scrivere uno script cgi-bin o un programma che gestisca i dati ricevuti -- dopo tutto, ci deve essere qualcosa che capisca questi dati che arrivano al server!.


Indice HomePage