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?
- Compila i campi del modulo
- Il browser invia i dati a invia.php tramite POST
- Il PHP valida, filtra e invia un’email
- 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”!