Gestione Form

La gestione dei Form in PHP è una delle pratiche tra le più diffuse.

Il Form o modulo è usato per passare i dati a un server. Può contenere elementi di input, come i campi di testo, caselle di controllo, radio-pulsanti, pulsanti di invio, liste di selezione, textarea ed altro.
Per creare un Form viene usato il tag <form> che, come il tag <p>, è un elemento di blocco che va aperto e chiuso: <form>............</form>.

Al tag <form> è necessario assegnare alcuni attributi di cui mostriamo solo i principali.

  • name="": facoltativo, indica il nome del tag; diventa obbligatorio se viene richiamato uno script JS per eventuali verifiche o validazioni
  • action="": indica la pagina che deve ricevere e processare il form. Se la pagina è omessa, sarà la stessa pagina che contiene il form ad essere richiamata
  • method="": indica il metodo di invio dei dati da parte del form e può essere:
    • GET (poco usato): la pagina che deve ricevere e processare il form viene contattata e riceve i dati in un unico processo e, nell'URL della pagina ricevente, sulla barra degli indirizzi, verranno visualizzati tutti i dati inviati, creando così una QueryString a volte complessa e lunga nella forma Nome_campo=valore
    • POST (da preferirsi all'altro): l'invio dei dati avviene in due tempi distinti: prima viene chiamata la pagina indicata nella action e poi verranno consegnati i dati. In questo modo i dati non verranno mostrati nella barra degli indirizzi nascondendoli così alla vista dell'utente.
  • enctype="": normalmente non viene usato, tuttavia si rende necessario quando dobbiamo inviare un file immagine, file di testo o altro. In questo caso occorre specificare ”multipart/form-data” (vedi il secondo esempio)

A questi elementi, se necessario si possono aggiungere un controllo dell'evento onsubmit, come mostrato nel terzo esempio, che viene attivato quando si esegue l'invio del form tramite il pulsante "submit" o premendo il tasto invio da tastiera. Questo evento richiama generalmente una funzione JS.

In linea di massima l'ordine di tutti questi elementi è ininfluente.

Un semplice form

1
2
3
4
5
<form name="modulo" action="nome_pagina_destinazione.php" method="post">
...
...
<input type="submit" value="vai">
</form> 

Un form per eseguire upload di file

1
2
3
4
5
6
<form name="modulo" enctype="multipart/form-data" action="nome_pagina_destinazione.php" method="POST">
<input name="userfile" type="file" />
...
...
<input type="submit" value="vai">
</form> 

Un form da sottoporre alla validazione JS: eantrambi questi form possono essere così trasformati

1
2
3
4
5
<form method="post" name="modulo" action="nome_pagina_destinazione.php" onsubmit="return check_valid(this);">
...
...
<input type="submit" value="vai">
</form> 

 

 



settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum