PHP: Form contatti
Form contatti in PHP
Un form contatti è uno degli strumenti più usati nei siti web per ricevere messaggi dagli utenti. In PHP si possono gestire i dati inseriti, validarli e inviarli via email. È fondamentale controllare sempre gli input per motivi di sicurezza.
Introduzione
Un form contatti in PHP è composto da due parti: l’HTML per l’interfaccia utente e lo script PHP per l’elaborazione dei dati. Prima di procedere con l’invio è necessario validare i campi (ad esempio l’email) e proteggere da tentativi di injection.
Esempio: Form HTML
Il form contiene campi di input base: nome, email e messaggio. I dati vengono inviati tramite metodo POST a uno script PHP dedicato.
Codice Esempio: form.html
<!DOCTYPE html><html><head><title>Form Contatti</title>
</head><body><form action="contatti.php" method="post">Nome: <input type="text" name="nome" required><br><br>Email: <input type="email" name="email" required><br><br>Messaggio:<br><textarea name="messaggio" rows="5" cols="30" required></textarea><br><br><input type="submit" value="Invia"></form></body></html>
Esempio: Script PHP di gestione
Lo script PHP riceve i dati, li filtra e simula l’invio di una email. Nell’ambiente reale la funzione mail() può essere usata, ma spesso si preferiscono librerie esterne come PHPMailer.
Codice Esempio: contatti.php
<?phpif ($_SERVER["REQUEST_METHOD"] === "POST") {
$nome = htmlspecialchars($_POST["nome"]);
$email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
$messaggio = htmlspecialchars($_POST["messaggio"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Email non valida.";
exit;
}echo "Grazie $nome, il tuo messaggio è stato ricevuto.";
// Qui si potrebbe usare mail() o PHPMailer per l’invio reale}?>
Struttura dei dati
Quando il form viene inviato, i dati si trovano nell’array superglobale $_POST:
Array([nome] => Mario
[email] => mario@example.com
[messaggio] => Ciao, vorrei informazioni.
)
Tabella riassuntiva
| Campo | Descrizione | Validazione |
|---|---|---|
| Nome | Nome dell’utente che compila il form. | Obbligatorio, evitare script con htmlspecialchars(). |
| Indirizzo email dell’utente. | Sanitizzazione e FILTER_VALIDATE_EMAIL. |
|
| Messaggio | Contenuto del testo inviato. | Obbligatorio, filtrare con htmlspecialchars(). |
Considerazioni
Il form contatti è un elemento semplice ma deve essere progettato con cura. La validazione lato client (JavaScript) migliora l’esperienza utente, ma la protezione vera deve avvenire sempre lato server in PHP.

IP: 216.73.216.214