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.
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:
L'utente semplicemente riempie i campi, seleziona valori
nelle liste e preme "spedisci" (ovviamente questa FORM tentera' di accedere ad
un URL inesistente!).
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!.
|