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.

Staff RSWT 2 min di lettura

Come creare un form HTML + PHP che funziona davvero (convalidato e sicuro)
In questa guida (5)
  1. 11. Crea il form HTML
  2. 22. Il file PHP che riceve i dati: invia.php
  3. 33. Sicurezza: cosa stai facendo con questi codici?
  4. 44. Cosa succede quando un utente invia il form?
  5. 5Conclusione

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