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.

Si supponga che l’invio dei dati dal client verso il server debba essere realizzato con un form (o modulo) di una pagina HTML, in questo caso i dati inviati possono essere recuperati sul server utilizzando un qualche linguaggio di programmazione lato server, come ad esempio PHP. La pagina web del form una volta che è stata visualizzata nel browser, può essere utilizzata per raccogliere sul client i dati da inviare con una richiesta http in modalità GET o POST verso una pagina PHP di destinazione che si trova sul server, che può essere una pagina diversa da quella di invio, ma che con opportuni accorgimenti può essere anche la stessa pagina dalla quale è partita la richiesta di invio.

Nel caso dell’esempio che segue, la pagine di destinazione è 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 ricevuti. Per realizzare una pagina web dinamica in PHP, dunque, è fondamentale conoscere quali sono e come si utilizzano i principali elementi HTML con cui è possibile realizzare le operazioni di input.

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

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

  • 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.