venerdì 31 ottobre 2025

Corso di PHP: 6 – Form e Interazione con l’Utente

6 – Form e Interazione con l’Utente


Introduzione

Uno degli aspetti fondamentali nello sviluppo web con PHP è la gestione dei form HTML, che consentono l’interazione diretta con l’utente. Un form può raccogliere dati (testo, numeri, password, scelte multiple, file, ecc.) e inviarli al server, dove PHP si occupa di elaborarli, salvarli o restituire risposte personalizzate.

La comunicazione avviene principalmente tramite i metodi HTTP GET e POST, che determinano come i dati vengono trasmessi.


Recupero dati con $_GET e $_POST

  • $_GET

    • I dati vengono passati tramite la URL.

    • È utile per operazioni semplici, come filtri, ricerche, navigazione con parametri.

    • Esempio: pagina.php?nome=Mario&età=25

    • Vantaggio: i dati sono visibili e condivisibili tramite link.

    • Svantaggio: non adatto a dati sensibili (password, informazioni private).

  • $_POST

    • I dati vengono inviati nel corpo della richiesta HTTP.

    • Più sicuro e usato per login, registrazioni, inserimento dati complessi.

    • I parametri non compaiono nella barra degli indirizzi.

Confronto sintetico

Metodo Visibilità dati Sicurezza Uso tipico
GET Alta (URL) Bassa Ricerca, filtri
POST Nascosta Più alta Login, moduli riservati

Validazione e sanificazione input

Un passaggio cruciale è controllare e pulire i dati ricevuti, perché l’utente può commettere errori o, peggio, inviare input malevoli.

Tipi di validazione

  1. Validazione lato client (JavaScript/HTML5): rapida, migliora l’esperienza utente, ma non sufficiente.

  2. Validazione lato server (PHP): necessaria per la sicurezza.

Esempi di validazione

  • Controllo che un campo obbligatorio non sia vuoto.

  • Verifica del formato email (utente@example.com).

  • Verifica che un’età sia numerica e positiva.

Sanificazione

Serve a rendere sicuri i dati prima di salvarli o visualizzarli.

  • htmlspecialchars() → trasforma caratteri speciali in entità HTML, prevenendo attacchi XSS.

  • filter_var($email, FILTER_VALIDATE_EMAIL) → controlla se una stringa è una email valida.

  • intval(), floatval() → conversione sicura in numeri.


Gestione degli errori nei form

Per migliorare l’esperienza utente, è fondamentale fornire feedback chiari.

  • Se un campo è vuoto → messaggio: “Inserisci il tuo nome”.

  • Se la password non rispetta i criteri → messaggio: “La password deve avere almeno 8 caratteri”.

  • Possibilità di riproporre il form precompilato con i dati già inseriti per non farli riscrivere.


Esercizio: form di login simulato

Descrizione

Creiamo un form che richiede username e password, verifica i dati e restituisce un messaggio di successo o errore.

Passaggi logici

  1. Creare un form con due campi: username e password.

  2. Alla pressione di Invia, i dati arrivano a PHP tramite POST.

  3. PHP controlla:

    • Se i campi non sono vuoti.

    • Se l’username corrisponde a uno registrato (es. admin).

    • Se la password è corretta (es. 12345).

  4. Restituisce il risultato:

    • “Login riuscito, benvenuto admin!”

    • “Errore: credenziali non valide.”

Estensione dell’esercizio

  • Inserire controlli di sicurezza, come la limitazione dei tentativi.

  • Usare hashing della password (password_hash, password_verify).

  • Implementare la gestione delle sessioni per mantenere l’utente loggato.


Conclusione

La gestione dei form in PHP è un pilastro dello sviluppo web dinamico. Padroneggiare GET, POST, validazione, sanificazione e feedback permette di creare applicazioni sicure e intuitive. L’esercizio del form di login rappresenta una prima applicazione concreta, propedeutica allo sviluppo di aree riservate, registrazioni utenti e sistemi più complessi.


Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...