Creare un form di contatto in php

In questo articolo vediamo come creare un semplice script php per la creazione di un form di contatto. Per prima cosa creiamo la pagina che ospiterà la parte grafica, ovvero il form di contatto in html. La pagina la potete chiamare ad esempio formcontatti.php ed all’interno deve contenere il seguente codice:

<form action=”invia.php” method=”post” name=”formcontatti”>
Il tuo nome (Richiesto) <br>
<input type=”text” name=”nome”/><br/>
La tua email (Richiesto) <br> <input name=”email” type=”text”> <br>
Oggetto (Richiesto) <br> <input type=”text” name=”oggetto”/><br/>
Messaggio (Richiesto)<br>  <textarea name=”messaggio” cols=”25″ rows=”7″></textarea> <br> <input name=”invia” type=”submit” value=”invia”> </form> 

Come potete vedere all’inizio del codice vi è <form action=”invia.php”, questo vuol dire che dobbiamo creare una pagina chiamata invia.php che deve contenere lo script php. Ovviamente la pagina la potete chiamare come volete, l’importante che sia quella definita nel “form action”. Il codice php da inserire nella pagina invia.php è il seguente: (ricordatevi di eliminare le scritte in verde che sono semplicemente dei commenti delle funzioni)

<?php

//tramite la funzione $_post verranno raccolti i campi nome, oggetto, messaggio ed email che inserirà un ipotetico utente nel form di contatto

$nome= ($_POST[‘nome’]);
$oggetto = ($_POST[‘oggetto’]);
$messaggio= ($_POST[‘messaggio’]);
$mittente= ($_POST[‘email’]);

$destinatario= ‘francescogrecomusica@yahoo.it’; // inserire nella variante $destinatario l’indirizzo email su cui ricevere le email

$intestazione=”From: “.$mittente.”\r\n”;

if ($nome == ” or $oggetto == ” or $messaggio == ” or $mittente == ”) {echo ‘Attenzione compila tutti i campi’;} // se i campi nome oggetto messaggio o mittente non vengono compilati apparirà il messaggio “attenzione compila tutti i campi”

elseif (!preg_match("/^([a-z0-9][_.a-z0-9]+[a-z0-9])[@][-.a-z0-9]+(\.[a-z]{2,4})$/", $mittente)) {

echo “Indirizzo email NON valido”; // la funzione preg_match verifica se $mittente è un indirizzo email controllando ad esempio se c’è la chiocciola
} else
{mail($destinatario, $oggetto, $messaggio, $intestazione); echo “email inviata con successo”;}
?>

Come potete vedere si tratta di un semplicissimo script ma abbastanza efficace!.