Bhe fin qui ci siamo, è un problema di locale, anche perchè io ho fatto così su mio server:
Codice PHP:
<?
$db = "dati.html";
$nome = "davide";
$cognome = "cirillo";
$email = "ciri94@hotmail.it";
$cap= "20020";
$citta="lainate";
$oggetto ="Iscrizione al servizio email Mia Società";
//body
$mailbody = "Messaggio in html";
//intestazioni html
$mailhtml = "MIME-Version: 1.0
";
$mailhtml .= "Content-type: text/html; charset=iso-8859-1
";
$mailhtml .= "From: Mia Società";
if ($nome != '' AND $cognome !='' AND $email != '' AND $cap != '' AND $citta != '') {
$fp=fopen($db,"a+");
fwrite($fp, '
-------- ' . '
Nome: ' . $nome . '
Cognome: ' . $cognome . '
E-mail: ' . $email . '
Telefono: ' . $telefono . '
Indirizzo: ' . $indirizzo . '
CAP: ' . $cap . '
Città: ' . $citta) or die('Errore nella scrittura del file');
mail($email, $oggetto, $mailbody, $mailhtml);
fclose($fp);
echo "Grazie per l'iscrizione.
Le abbiamo inviato un'email.
<meta http-equiv='refresh' content='5;URL=index.htm'>";
}
//se le variabili fondamentali sono vuote stampa un messaggio di errore reindirizzando l'utente (dopo 3 sec) alla pagina iniziale
else {
echo "Errore nel form, probabilmente ha lasciato qualche spazio bianco.
Tra pochi secondi sarà reindirizzato alla prima pagina per Ritentare l'iscrizione.<meta http-equiv='refresh' content='3;URL=index.htm'>";
}
?>
e funziona, quindi è un problema tuo non del codice =) (mi sembrava strano!)