In precedenza, abbiamo introdotto il concetto di modulo. Per modulo si intende quella parte di pagina html in grado di permettere all'utente di immettere dati in diversi elementi. Il concetto di diversi elementi verrà illustrato in seguito. Per cominciare a comprender meglio, possiamo dire che le caselle di testo mostrate nell'immagine precedente, sono uno degli elementi possibili per la realizzazione di moduli. Nel titolo della lezione, però ho usato il termine form. Cosa significa? Esso non è nient'altro che la traduzione in inglese della nostra parola modulo. Adesso, riporto la sintassi corretta per la creazione del form. Questa sintassi, però NON è parte integrante dell'Active Server Page. Essa è costituita solamente da codice html al massimo interagente con JavaScript. La funzione del codice Asp è solamente quella di rielaborare le informazioni immesse.
<form name="" method="" action="">
... elementi del form ...
</form>
Com'è possibile intuire, i tag di delimitazione del form sono <form> e </form>. Nel tag di apertura, però è possibile osservare (a differenza del tag di chiusura) tre voci aggiuntive. Adesso le spiegheremo illustrandone le loro capacità.
Voce Aggiuntiva
|
Definizione
|
name
|
Indica il nome che il form assume all'interno
della pagina html. Il campo NON è obbligatorio se i dati NON vengono elaborati con Javascript. |
method
|
Indica il modo in cui i dati verranno rielaborati.
Per questa voce sono possibili due diverse scelte. Le differenze le vedremo in seguito. |
action
|
Indica la pagina di azione del form. Per spiegar
meglio, indica la pagina in cui i dati immessi nel form verranno rielaborati tramite codice Active Server Page. |
L'unica nota da fare sulle tre voci appena illustrate riguarda la voce method. Come accennavo in precedenza, esistono due modalità : post oppure get. Per completezza del corso, vi illustrerò solamente in questa lezione come funziona e come si comporta il get, poi in tutti gli esempi che troveremo andando avanti, utilizzeremo il post per questioni che capirete a breve. La prima differenza che possiamo osservare è quella a livello sintattico nella creazione di codice asp vero e proprio. Infatti la sintassi di "recupero" dei dati è diversa. Ecco una sintesti di sintassi:
Tipo Metodo
|
Sintassi Asp di recupero
|
get
|
Request.QueryString("nome_elemento") |
post
|
Request.form("nome_elemento") |
Oltre alla differenza sintattica tra i due metodi, possiamo osservare che il metodo post è molto più "riservato" rispetto al suo concorrente get. Infatti quando si usa il get, i dati immessi nel form verranno passati come collection di valori e mostrati sulla barra degli indirizzi del browser di navigazione. Provate a pensare ai disagi che si verrebbero a creare se si leggessero le password degli utenti durante il loro log-in o fase di registrazione. Non credo sia piacevole né leggerle né tanto meno sapere che le nostre password posso essere reperite facilmente. E' appunto per questo motivo che personalmente porto avanti la politica d'uso del post e non uso il get.
Prima di concludere, desidero fare un'ultima nota spiegando cos'è una collection. Per collection si intende una serie di valori passati da pagina a pagina dopo il nome della pagina stessa. Per chiarire meglio la spiegazione, illustreremo il tutto con un esempio.
http://www.nomesito.it/pagina.asp?Id1=val1&Id2=val2 ... &IdN=valN
Con Id1 a IdN si indica il nome della variabile che passa il relativo valore alla pagina di destinazione. In questo caso, i valori assumono l'intervallo val1-valN.