<?php
function valida_email($em){
$em=filter_var($em, FILTER_SANITIZE_EMAIL);
if(!filter_var($em, FILTER_VALIDATE_EMAIL)){
return "*#*";
}else{
return $em;
}
}
function valida_nome($no){
$no=trim($no);
$no=strip_tags($no);
if($no==""){
return "*#*";
}else{
return $no;
}
}
function valida_oggetto($ob){
$ob=trim($ob);
$ob=strip_tags($ob);
if($ob==""){
return "*#*";
}else{
return $ob;
}
}
function valida_testo($tx){
$tx=trim($tx);
$tx=strip_tags($tx, "<br> <p>");
if($tx==""){
return "*#*";
}else{
return $tx;
}
}
if(isset($_POST['invio'])){
$ok_ko.="";
$nome=$_POST['realname'];
$email=$_POST['email'];
$subject=$_POST['subject'];
$messaggio=$_POST['messaggio'];
$privacy=$_POST['privacy'];
$nome=valida_nome($nome);
if($nome=="*#*"){
$ok_ko.="<br>NON hai inserito il tuo nome e cognome";
}
$email=valida_email($email);
if($email=="*#*"){
$ok_ko.="<br>NON hai inserito l'indirizzo email o errato";
}
$subject=valida_oggetto($subject);
if($subject=="*#*"){
$ok_ko.="<br>NON hai inserito l'oggetto del messaggio o errato";
}
$messaggio=valida_testo($messaggio);
if($messaggio=="*#*"){
$ok_ko.="<br>NON hai inserito il testo";
}
if($privacy !="ok"){//se diverso da ok privacy non spuntata
$ok_ko.="<br>NON hai accettato la privacy";//o il testo che preferisci
}
//fine verifiche se la variabile $ok_ko è rimasta vuota tutto OK
//quindi posso spedire
if($ok_ko==""){
//preparo delle variabili chi mi possono servire
$destinatario="pippopippo@gmail.com";//qui devi mettere il tuo indirizzo
$inviata_il="email inviata il ".date("d/m/y",time())."<br>";//questa è per bellezza
$inviata_da="email da: ".$email."<hr>";
$oggetto= "richiesta informazioni";//o altro messaggio
//nel messaggio concateno alcune variabili ottenendo il testo da inviare
$testo=$inviata_il.$inviata_da.nl2br($messaggio);
//invio in formato html
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: $nome <$email>" . "\r\n";
//e qui ti uso la nativa mail() poi visto che l'appetito vien mengiando....
//prima o poi passere alla classe maillerphp
//tento l'invio
if(mail($destinatario,$oggetto,$testo,$headers)){
$ok_ko.="<br>Grazie per avermi contattato<br>ti risponderò quanto prima";
}else{
$ok_ko.="<br>c'é stato un errore di trasmissione: riprova più tardi";
}
}
avviso se OK o KO
echo $ok_ko;
echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
?>
<div id="container">
<form method='post' action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>'>
<p> Nome e Cognome:</p>
<input type=text name="realname">
<p>Email:</p>
<input type=text name="email">
<p>Oggetto:</p>
<input type=text name="subject">
<p>Messaggio:</p>
<textarea name="messaggio" cols="40" rows="5"></textarea>
<br>
<br>
<input name="privacy" type="checkbox" value="ok">
<br />
<input type="Submit" value="invio" name="invio">
</form>