|
Prima di proseguire, per rendere
leggibile l'articolo anche a chi è digiuno di programmazione
CGI, riepiloghiamo alcuni concetti. Gli script CGI si innestano nel
meccanismo ipertestuale del Web sostituendo al prelievo di una pagina
HTML statica l'esecuzione di un programma che produce la pagina HTML
(che quindi può essere mutevole a
seconda delle circostanze).
Tipicamente se si segue un link o si scrive direttamente un URL come
questo:
http://www.ditta.com/cgi-bin/prgcgi
non viene prelevata una pagina HTML
ma viene invece invocato un programma che la produce (e può
fare anche altre cose come effetto collaterale come inviare una
mail). Il programma viene eseguito nella stessa macchina dove risiede
il Web server, anzi è lo stesso server che manda in esecuzione
il programma. Generalmente il server distingue i file HTML che devono
essere inviati così come sono dai programmi che devono essere
eseguiti in base alla sua configurazione e alla directory in cui si
trova il file richiesto.
Ad un programma invocato tramite
URL, è possibile passare dei parametri sempre tramite un URL
nel formato opportuno:
http://www.ditta.com/cgi-bin/prgcgi?parametro
In questo caso non invoco il programma
prgcgi?parametro, bensì invoco prgcgi
passandogli come parametro la stringa “parametro”.
Le form utilizzano questo meccanismo per passare ad un programma le
informazioni immesse nei campi di input. Se abbiamo una form come
questa:
<FORM
ACTION="http://www.ditta.com/cgi-bin/prgcgi">
<INPUT
TYPE=text NAME="a">
<INPUT
TYPE=checkbox NAME="b" VALUE="x">
<INPUT
TYPE=SUBMIT VALUE="OK"
</FORM>
all'utente compare un campo di
testo, una checkbox e un bottone. Se l'utente scrive “ciao”
nel campo di testo, seleziona la checkbox e preme il bottone, invia
al programma i dati che ho immesso. Questo si risolve nell'effettuare
il prelievo di un URL di questo tipo:
http://www.ditta.com/cgi-bin/prgcgi?a=hello&b=x
Come si vede i dati immessi nella
form sono stati codificata in una URL e passati al programma come
stringa parametro del programma CGI.
|