Come creare un form HTML + PHP che funziona davvero (convalidato e sicuro)
Data Pubblicazione: 27/03/2025 | | Programmazione

Come creare un form HTML + PHP che funziona davvero (convalidato e sicuro)

Vuoi aggiungere un form contatti al tuo sito, ma non sai da dove iniziare? In questo articolo ti spiego passo dopo passo come creare un form semplice e sicuro con HTML e PHP.

Vuoi aggiungere un form contatti al tuo sito, ma non sai da dove iniziare? In questo articolo ti spiego passo dopo passo come creare un form semplice e sicuro con HTML e PHP.

1. Crea il form HTML

Questo è il codice da inserire in una pagina chiamata contatti.html (o qualsiasi altra):

<form action="invia.php" method="POST"> <label for="nome">Nome:</label><br> <input type="text" name="nome" id="nome" required><br><br> <label for="email">Email:</label><br> <input type="email" name="email" id="email" required><br><br> <label for="messaggio">Messaggio:</label><br> <textarea name="messaggio" id="messaggio" rows="5" required></textarea><br><br> <button type="submit">Invia</button> </form>

2. Il file PHP che riceve i dati: invia.php

Salva questo codice in un file chiamato invia.php nella stessa cartella:

<?php // Controlla che il metodo sia POST if ($_SERVER["REQUEST_METHOD"] == "POST") { // Pulisci e valida i dati $nome = htmlspecialchars(trim($_POST["nome"])); $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL); $messaggio = htmlspecialchars(trim($_POST["messaggio"])); // Controllo campi vuoti if (empty($nome) || empty($email) || empty($messaggio)) { echo "Tutti i campi sono obbligatori."; exit; } // Controllo email valida if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Email non valida."; exit; } // Componi il messaggio email $destinatario = "tuo@email.it"; // Cambia con la tua email $oggetto = "Nuovo messaggio dal sito"; $contenuto = "Nome: $nome\nEmail: $email\nMessaggio:\n$messaggio"; // Invia email $inviato = mail($destinatario, $oggetto, $contenuto); if ($inviato) { echo "Messaggio inviato con successo!"; } else { echo "Errore nell'invio del messaggio."; } } else { echo "Accesso non autorizzato."; } ?>

3. Sicurezza: cosa stai facendo con questi codici?

  • htmlspecialchars(): protegge da attacchi XSS (iniezione HTML/JS)
  • filter_var(): pulisce e valida l’email
  • trim(): rimuove spazi vuoti indesiderati

4. Cosa succede quando un utente invia il form?

  1. Compila i campi del modulo
  2. Il browser invia i dati a invia.php tramite POST
  3. Il PHP valida, filtra e invia un’email
  4. L’utente riceve un messaggio di conferma (o errore)

Conclusione

Con pochi passaggi hai un form contatti funzionante, sicuro e pronto da integrare in qualsiasi sito. Puoi anche espanderlo con allegati, checkbox, selettori, captcha… lo vediamo nei prossimi articoli 😉

➡️ Copia il codice, personalizzalo e testalo su un server con PHP attivo (come XAMPP, MAMP o uno spazio hosting).

Hai bisogno del file già pronto in zip o vuoi la versione con alert animati? Scrivimi nei commenti o scrivici nella sezione “Diventa virale”!

Potrebbe interessarti anche...