salve a tutti, qualcuno mi saprebbe dire come mai non funziona questo form di contatto? l'unico problema è che non ricevo la mail...
di seguito il codice del file: (ovviamente sta la mail di prova, ma se inserisco la mia non ricevo nulla...
)
codice:
<?
/*PARTE DA METTERE IN TESTA ALLA PAGINA DI CONTATTO*/
error_reporting(E_ALL ^ E_NOTICE);
$preferenze['a']="io@io.it";
$preferenze['bcc']="io@io.it";
$preferenze['sito']="www.prova.com";
$errore=-2;
$variabili['Form']=$_POST;
if (isset($variabili['Form']['invia']))
{
if (controlla_dummy())
{
$errore=controlla_form2($variabili['Form']);
//echo $errore;
if ($errore==0)
{
$elementi['da']=$variabili['Form']['email'];
$elementi['a']=$preferenze['a'];
$elementi['bcc']=$preferenze['bcc'];
$elementi['titolo']="Modulo dal sito ".$preferenze['sito'];
foreach ($variabili['Form'] as $k => $v) {
if (($k!="obbligatori") && ($k!="invia") && ($k!="NAME"))
{
$elementi['testo'].=$k.": ".$v."\n";
}
}
if (invia_mail2($elementi)==1)
{
$errore=-1;
}
}
}
}
function controlla_dummy($nome="NAME")
{
if (!empty($_POST[$nome]))
{
return false;
}
else
{
return true;
}
}
function controlla_form2($elementi)
{
$errore=0;
$obbligatori=$elementi['obbligatori'];
$obbligatori=explode(",",$obbligatori);
if (count($obbligatori)==0)
{
$obbligatori=array("nome","email");
}
$errori=array(1,2,4,8,16,32,64,128,256,512,1024,2048);
$cont=0;
for ($i=0; $i<count($obbligatori); $i++)
{
$comodo=explode("|",$obbligatori[$i]);
if (count($comodo)==1)
{
if (empty($elementi[$obbligatori[$i]]))
{
$errore+=$errori[$i];
}
}
else
{
/* CONDIZIONI DI CONTROLLO
@ : email valida
#+ : numero positivo
D> : data maggiore di oggi
*/
if ($comodo[0]=="@")
{
if (!validEmail($elementi[$comodo[1]]))
{
$errore+=$errori[$i];
$cont++;
}
}
if ($comodo[0]=="#+")
{
if ((int)($elementi[$comodo[1]])<1)
{
$errore+=$errori[$i];
$cont++;
}
}
if ($comodo[0]=="D>")
{
$oggi=data(0,true);
$comodo[1]=$elementi[$comodo[1]];
$data=substr($comodo[1],6,4)."-".substr($comodo[1],3,2)."-".substr($comodo[1],0,2);
if ($oggi>=$data)
{
$errore+=$errori[$i];
$cont++;
}
}
}
}
if ($elementi['c']!=$captcha)
{
$errore+=65536;
}
return $errore;
}
function invia_mail2($elementi)
{
global $variabili;
global $preferenze;
$intestazione="from: ".$elementi['da']."\r\n";
if ($elementi['cc']!="")
{
$intestazione.="cc: ".$elementi['cc']."\r\n";
}
if ($elementi['bcc']!="")
{
$intestazione.="bcc: ".$elementi['bcc']."\r\n";
}
$elementi['intestazione']=$intestazione;
if (mail($elementi['a'],$elementi['titolo'],$elementi['testo'],$intestazione))
{
$errore=0;
}
else
{
$errore=1;
}
return $errore;
}
function validEmail($email)
{
return preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email);
}
?>
<? if ($errore>0) { ?>
<p class="errore">Compilare i campi obbligatori</p>
<? } ?>
<? if ($errore==0) { ?>
Messaggio inviato con successo</p>
<? } else { ?>
<? if ($errore==-1) { ?>
Errore nell'invio del messaggio. Riprovare più tardi.</p>
<? } ?>
<form name="form1" method="post" action="">
<label for="nome">Cognome e Nome*</label>
<input type="text" name="nome" id="nome">
</p>
<label for="email">Email*</label>
<input type="text" name="email" id="email">
</p>
<label for="telefono">Telefono</label>
<input type="text" name="telefono" id="telefono">
</p>
<label for="testo">Testo</label>
<textarea name="testo" id="testo" cols="45" rows="5"></textarea>
</p>
<input name="trattamento" type="checkbox" id="trattamento" value="S" />
<span>Autorizzo il trattamento dei dati personali*</span></p>
I campi contrassegnati con l'asterisco (*) sono obbligatori</p>
</p>
<input type="submit" name="invia" id="invia" value="Invia" />
<input name="obbligatori" type="hidden" id="obbligatori" value="nome,@|email,trattamento" />
<input type="text" name="NAME" id="NAME" />
</p>
</form>
<? } ?>