PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

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

CODE: HTMLpreleva codice
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>Form Contatti</title>
  5. </head>
  6. <body>
  7.   <form action="contatti.php" method="post">
  8.     Nome: <input type="text" name="nome" required><br><br>
  9.     Email: <input type="email" name="email" required><br><br>
  10.     Messaggio:<br>
  11.     <textarea name="messaggio" rows="5" cols="30" required></textarea><br><br>
  12.     <input type="submit" value="Invia">
  13.   </form>
  14. </body>
  15. </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

CODE: PHPpreleva codice
  1. <?php
  2. if ($_SERVER["REQUEST_METHOD"] === "POST") {
  3.     $nome = htmlspecialchars($_POST["nome"]);
  4.     $email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
  5.     $messaggio = htmlspecialchars($_POST["messaggio"]);
  6.  
  7.     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  8.         echo "Email non valida.";
  9.         exit;
  10.     }
  11.  
  12.     echo "Grazie $nome, il tuo messaggio è stato ricevuto.";
  13.     // Qui si potrebbe usare mail() o PHPMailer per l’invio reale
  14. }
  15. ?>

Struttura dei dati

Quando il form viene inviato, i dati si trovano nell’array superglobale $_POST:

CODE: Struttura datipreleva codice
  1. Array
  2. (
  3.   [nome] => Mario
  4.   [email] => mario@example.com
  5.   [messaggio] => Ciao, vorrei informazioni.
  6. )

Tabella riassuntiva

Campo Descrizione Validazione
Nome Nome dell’utente che compila il form. Obbligatorio, evitare script con htmlspecialchars().
Email 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.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies