ciao a tutti, ho messo la pagina nel mio sito con un form per dare la possibilità agli utenti di contattarmi.
questa è la pagina:
http://www.elogioallavespa.it/provaform.php
la cosa strana è che non sempre le mail mi arrivano.
nella pagina del form metto questo codice:
Codice PHP:
<?php
//Apro la sessione
session_start();
//prelevo i dati del codice errore
$errore = $_GET["errore"];
$nome = $_GET["nome"];
//genero i numeri per antispam
$num1 = rand (0,10);
$num2 = rand (0,10);
$risultato = $num1+$num2;
$_SESSION["risultato"] = $risultato;
?>
e il form da compilare.
poi ho una pagina con i controlli da fare prima di inviare la mail che è questa:
Codice PHP:
<?php
//Apro la sessione
session_start();
// prelevo il campo "nome" da form.php
$nome=$_POST["nome"];
$indirizzo=$_POST["indirizzo"];
$oggetto=$_POST["oggetto"];
$messaggio=$_POST["messaggio"];
$spam=$_POST["spam"];
$risultato=$_SESSION["risultato"];
//indirizzo destinatario
$indirizzo_dest = "mioindirizzo@alice.it";
//indirizzo mittente
$indirizzo_mitt = "posta@elogioallavespa.it";
$messaggioCompleto = $messaggio."\n\n".$indirizzo."\n\n".$nome;
// controllo se il campo nome è vuoto
if(empty($nome)){
// se è vuoto, la variabile $errore assume valore 1
$errore = 1;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore."");
} else if(empty($indirizzo)){
// se è vuoto, la variabile $errore assume valore 2
$errore = 2;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore."");
} else if(empty($oggetto)){
// se è vuoto, la variabile $errore assume valore 4
$errore = 4;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore."");
} else if(empty($messaggio)){
// se è vuoto, la variabile $errore assume valore 3
$errore = 3;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore.""); }
else if(empty($spam)){
// se è vuoto, la variabile $errore assume valore 6
$errore = 6;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore."");
} else if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $indirizzo)) {
// se l'indirizzo non è valido, la variabile $errore assume valore 5
$errore = 5;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore."");
} else if($spam != $risultato){
// se è sbagliato, la variabile $errore assume valore 7
$errore = 7;
// rimando alla pagina form.php, trasportando il codice di errore
header("location:provaform.php?errore=".$errore.""); }
else {
// se è pieno, la variabile $errore assume valore 0
$errore = 0;
// invio del messaggio
mail($indirizzo_dest, $oggetto, $messaggioCompleto, "From: $indirizzo_mitt\r\nReply-To: $indirizzo_mitt\r\nX-Mailer: DT_formmail");
// rimando alla pagina form.php, trasportando il codice di errore
header("location:GraziePosta.php?nome=".$nome); }
?>
cosa di te che possa essere? come mai ogni tanto funziona e ogni tanto no???
grazie mille