Sono i moduli da compilare che si trovano su internet e servono per registrarsi ad un determinato servizio (ad esempio: area riservata ) o per trasferire dei valori o file in una pagina o in un sito web.
<form> </form> tag di apertura e chiusura di un form
ESEMPIO FORM PER CREARE UN BOTTONE CON UN LINK
a un file
<form method="post" action="phpinfo/phpinfo.php"
target="_blanck">
<button type="submit"> PHP INFO</button> </form>
<form method="GET" action="filephp/benvenuto.php"
target="_blanck">
<input type="submit" value="benvenuto" > </form>
ESEMPIO DI FORM PER L'INVIO DI DATI ad un file read.php
<form method="post" action="read.php">
inserisci tuo nome <input type="text" name="nome"><br>
inserisci la tua mail <input type="text" name="mail"><br>
<input type="submit" value="spedisci">
</form>
METHOD, specifica azione da svolgere sui dati, valori
possibili:"GET", "POST" o "ENCTYPE",
method="GET" i dati spediti codificati (max 255 caratteri)
method="POST" i dati ricevuti direttamente :quantita' illimitata
di caratteri.
method="ENCTYPE", per indicare il tipo di MIME usato per il trasferimento
delle informazioni.
I tipi MIME (Multipurpose Internet Mail Extension) usati per riconoscere
la natura dei file sono composti da due parti, tipo principale / tipo specifico
come ad esempio: "image/gif" (immagini di tipo gif), "text/plain"
(testo puro) e molti altri.
Il tipo di MIME da usare per trasferire i dati dal form al server HTTP è:
"application/x-www-form-urlencoded" e deve esserci solo nel caso
si usi il METHOD "POST";
questo valore è comunque quello di default dell'attributo ENCTYPE.
serve a comunicare al server che i dati saranno inviati con lo standard
"POST" ma codificati alla stessa maniera che con il metodo "GET".
ACTION= URL del file *.cgi o*.php che riceve i dati o link
del form
TARGET, per definire una nuova finestra dove visualizzare
la risposta elaborata dal CGI.
La creazione di un modulo consta di due fasi:
1) impostazione dei tag per la creazione del modulo,
dei campi e del tasto di spedizione;
2) creazione di uno script php o asp per risevere i dati su server. I
dati vengono resi disponibili sotto forma di variabili globali: $HTTP_GET_VARS
E $HTTP_POST_VARS (array associativi )
Gli elementi all'interno dei moduli sono elementi di TESTO
chiamati "controlli"; sono:
1- <INPUT> per creare vari tipi di input diversi:
Pulsanti, testo, password...ecc
2- <SELECT> per creare menu a scorrimento le cui
opzioni sono indicate con il tag <OPTION>;
3- <TEXTAREA> per l'immissione di righe di testo
multiple.
4- <FIELDSET> per raggruppare più controlli
di un form.
I primi tre prevedono gli 'attributi
NAME nome della variabile o del campo, se form-mail il titolo (subject)
del msg
VALUE con il quale si assegna un valore alla variabile o al campo;
valore iniziale (se type=text) o scritta sul bottone (type=SUBMIT)
Il tag di base per la definizione degli elementi di un form e'
<INPUT>, che viene utilizzato per aggiungere pulsanti,
menu di scelta, password ecc. a <INPUT> possono venire assegnati 8
valori differenti, che andiamo a spiegare.
nella colonna a sinistra compare il codice per il passaggio dei valori in
php.
type="TEXT"
$nome=$_POST['nome']; |
<INPUT type="TEXT" name="nome" maxlength="40"
size="33" value="Il tuo nome"> |
type ="HIDDEN" $codice=$_POST['codice']; |
<INPUT TYPE=HIDDEN NAME=codice VALUE="test123"> invia un campo nascosto |
type="PASSWORD" &passw=$_POST['passw'] |
<INPUT type="PASSWORD" name="passw" maxlength="10"
size="10"> |
type="CHECKBOX" $int1=$_POST['int1']; $int2=$_POST['int2']; |
Questo attributo viene solitamente utilizzato per informazioni del tipo "si/no" e "vero/falso". Crea delle piccole caselle quadrate da spuntare o da lasciare in bianco. Se la casella e' spuntata, input restituisce un valore al CGI, al contrario non restituisce alcun valore. Checked controlla lo stato iniziale della casella, all'atto del caricamento della pagina. SE il name è un indice
prelevato da un database con query select e while: viene ripresa con un ciclo for con questo codice: for ($i = 1; $i<= $massimo; $i++) |
type ="FILE" |
<form enctype="multipart/form-data" action="inserimento.php"
method="post"> NOTE: Il controllo "FILE" permette di inviare un file al
programma CGI; |
type="RADIO" $giudizio=$_POST['giudizio'] |
<INPUT type="RADIO" name="giudizio" value="sufficiente"> |
type="SUBMIT" |
<INPUT type="SUBMIT" value="spedisci"> |
type="RESET" |
<INPUT type="RESET" value="Ricomincia">
|
type="IMAGE" |
<INPUT type="IMAGE" src="pulsante.gif"> |
TEXTAREA |
<TEXTAREA
cols=40 rows=5 WRAP="physical" name="commento"></textarea> |
SELECT |
<SELECT size=1 cols=4 NAME="giudizio"> |
Elemento FIELDSET
<FIELDSET> per raggruppare più controlli di un form fino al
tag di chiusura </FIELDSET>;
<LEGEND> per aggiungere una legenda posizionandola con l'attributo
ALIGN.
attributo TABINDEX
utilizzabile per tutti i controlli di un form, per si può
cambiare l'ordine di selezione dei controlli all'interno di un modulo.
TABINDEX="numero"; i numeri alti hanno la precedenza rispetto
a quelli bassi o negativi. I caso di assenza l'ordine di selezione dei controlli
corrisponde a quello di apparizione all'interno del modulo.
<FORM ACTION="mailto:artemate@libero.it" METHOD="POST">
Commento: <INPUT TYPE="TEXT" NAME="comment" size="57">
textarea vuota
<INPUT TYPE="submit" VALUE="INVIA !"> </FORM>
bott submit invia
<INPUT TYPE=HIDDEN NAME=MAILFORM_URL VALUE="http://www.tuosito.it">
compilato e spedito correttamente il form, da' in risposta una pagina HTML
successiva
<INPUT TYPE=HIDDEN NAME=MAILFORM_SUBJECT VALUE="Titolo del form">
Questo codice determina il titolo (subject) del messaggio che riceverai via e-mail, e che conterra' il contenuto del form. E' molto utile ricevere messaggi con un proprio titolo, soprattutto per chi usa dei filtri per la posta, ma anche per l'indicizzazione della corrispondenza.