Corso di HTML

I moduli ( FORM ) e l'interfaccia CGI

 

Oltre alla visualizzazione di informazioni il web è molto utilizzato anche per la loro raccolta.

Da quando è nato HTML 2.0 ci vengono infatti messi a disposizione i moduli; questi sono degli elementi che permettono un buon grado di interazioni con l'utente e si rivelano particolarmente utili per la raccolta di informazioni.

Per creare un modulo si deve utilizzare il tag <FORM> e la sua controparte </FORM>. Tra questi due tag può essere inserito qualsiasi contenuto HTML valido, tranne che altri tag FORM.

Un form normalmente è composto da vari tipi di controlli che consentono di inserire testo, selezionare delle opzioni ed effettuare altre operazioni disposte dal WebMaster. Alla fine però l'utente deve confermare le sue scelte effettuando l'invio dei dati immessi, ciò avviene solitamente premendo l'apposito bottone a cui normalmente si da come etichetta Submit o Invia. In seguito a quest'ultima operazione viene richiamato uno script ( un programma ) residente sul server e a questo vengono passati i dati inseriti; successivamente possono verificarsi degli eventi causati dall'esecuzione dello script ( ad esempio la visualizzazione di una finestra, l'invio di una E-Mail o altro ).

 

Gli script sono normalmente scritti in Perl ed utilizzano l'interfaccia CGI ( Common Gateway Interface ).

La specifica CGI è stata sviluppata inizialmente per i web server NCSA e CERN ed è nata per stabilire uno standard di interfaccia tra i programmi dal lato server ed i browser dal lato client.

Il Perl è un linguaggio molto potente che permette, in modo molto semplice l'analisi, la gestione e la verifica dei dati inseriti dall'utente.

I metodi per passare i dati allo script sono sostanzialmente due: tramite una richiesta POST o tramite una richiesta GET; se non diversamente specificato è utilizzata la seconda possibilità.

Tramite il metodo GET i dati vengono passati allo script tramite l'URL della richiesta, in tale evenienza i parametri sono assegnati alla variabile speciale di ambiente dello script QUERY_STRING. Questa deve essere analizzata dallo script e solitamente non può contenere più di 255 caratteri.

La variabile QUERY_STRING è separata dall'URL delle script ( contenuto nella variabile SCRIPT_NAME ) da un segno di punto interrogativo '?', i parametri in essa contenuti invece sono separati dal segno ampersen '&'.

Il metodo POST è invece molto più versatile perché non pone limiti alla dimensione dei dati passati allo script, infatti questi vengono passati attraverso un canale di comunicazione separato ( con lo standard output ).Questo metodo si sta diffondendo sempre di più ed è attualmente quello più utilizzato. Con tale metodo per segnalare la fine dell'input per lo script viene utilizzata la variabile CONTENT_LENGTH che indica la dimensione in byte del flusso di dati. Altra informazione passata tramite lo stream di output è una descrizione del tipo di dati, questa viene copiata nella variabile di ambiente CONTENT_TYPE.

La sintassi di <FORM> è la seguente:

<FORM method=" POST | GET " action="URL">

...

</FORM>

Come già detto l'attributo method specifica il metodo di trasmissione dei dati al modulo, può assumere i valori POST e GET e questo secondo è anche quello di default.

L'attributo action specifica invece l'URL dello script ed eventualmente dei parametri che questo provvederà a vagliare.

Il primo parametro è separato dal percorso dal simbolo '?', mentre i successivi dal simbolo ampersan ( and ) '&'.

I form vengono costruiti mediante la definizione dei controlli di cui sono composti e ciò tramite vari tag <INPUT> e/o <SELECT> che vedremo nel prossimo articolo.

 

Torna all'indice Generale del corso di Corso di HTML di Software Planet