PHP e i form: i principali elementi HTML per l’input

Un client invia dei dati ad un server affinché, in generale, essi possano essere elaborati dal server, eventualmente restituendo anche i risultati delle elaborazioni allo stesso client. Un caso tipico, per esempio, è quello di un processo client che deve interagire con un database che si trova su un server, per compiere su di esso delle operazioni di manipolazione (inserimenti, modifiche, cancellazioni di record) o di interrogazione.
L’invio dei dati dal client verso il server viene realizzato in PHP con un form (o modulo) di una pagina HTML, di solito con estensione .php. La pagina web del form una volta che è stata scaricata e, quindi, visualizzata sul client, viene utilizzata sul client per raccogliere i dati da inviare con una richiesta GET o POST verso una pagina PHP di destinazione che si trova sul server, che di solito è una pagina diversa da quella di invio, ma che con opportuni accorgimenti sintattici può essere anche la stessa pagina da cui è partita la richiesta. Nel caso dell’esempio che segue, essa è una pagina diversa di nome ‘esegui.php’ e viene utilizzato il metodo di invio POST. In ogni caso, la pagina di destinazione deve incorporare gli script con le istruzioni PHP per elaborare opportunamente i dati inviati. Per programmare in PHP, dunque, è fondamentale conoscere quali sono e come si utilizzano i principali elementi HTML con cui è possibile realizzare operazioni di input.

I principali elementi HTML per l’input, con le proprietà fondamentali, sono riportati nel codice seguente.

Il form precedente contiene in quest’ordine ordine i seguenti elementi:

  • casella di testo standard
  • casella di testo per le password
  • casella per un blocco di testo (textarea)
  • pulsanti a selezione unica o esclusiva (radio button)
  • pulsanti a selezione multipla (checkbox)
  • casella di scelta a discesa
  • casella di scelta singola e multipla
  • pulsante di reset
  • pulsante di invio (submit)

che nel browser vengono visualizzati nel modo seguente:

form

Il codice di ciascun elemento è quello riportato nel form di esempio e si fa notare che tutti i tag dei vari elementi presentano la proprietà name. Essa è fondamentale in quanto individua in maniera univoca ciascun controllo all’interno del codice PHP e l’invio dei dati raccolti con il form, avviene attraverso un array associativo superglobale ($_GET[ ] o $_POST[ ], a seconda del metodo di invio scelto) in cui la chiave che individua ciascun dato inviato, è rappresentata proprio dal valore stringa della proprietà name del controllo con cui quel dato viene raccolto. Per questo motivo ciascun elemento del form deve avere una name diversa da quella di tutti gli altri.

N.B. Per questa regola, invece, sono delle eccezioni i radio button e le checkbox nei quali, al contrario, la proprietà name deve essere uguale per tutti gli item (voci) che fanno parte di uno stesso gruppo.

N.B. Nelle checkbox e nella casella di scelta multipla devono essere inserite le parentesi quadre dopo il valore della name, per indicare all’interprete PHP che nell’array associativo inviato con la richiesta GET o POST, in corrispondenza di quel valore della chiave è presente un array che contiene tutti i valori della scelta multipla effettuata nel form.

La proprietà value, invece, per la maggior parte degli elementi costituisce il dato inviato attraverso il form, ad eccezione ovviamente delle caselle di testo, per le quali invece si invia ciò che viene digitato in esse dall’utente, e i pulsanti di invio e reset, per i quali la proprietà value rappresenta il testo che viene in essi visualizzato.