Ho bisogno di far girare questo file in un pc per la mia azienda.
Ho fatto questo semplice script per inserire i dati dell'utente che si sta per iscrivere ad un semplice form, in una pagina html. Non mi serviva inserirli in un db MySQL e quindi per comodità ho utilizzato questa forma. Sicuramente noterete il fatto che i campi che controlla che non siano vuoti sono di meno rispetto a tutti quelli esistenti.. Il motivo è spiegato nei commenti all'interno del programma.
Fino a quando stavo inserendo i dati in una semplice pagina html andava tutto liscio. Però un mio collega mi ha chiesto di inviare direttamente un'e-mail a quello che si sta per iscrivere e quindi lo script finale sarà:
Codice PHP:
<?php
//variabili
$db = "dati.html";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$indirizzo = $_POST['indirizzo'];
$cap = $_POST['cap'];
$citta = $_POST['citta'];
//variabili per email in html
//oggetto
$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à";
/*
1. condizione: variabili, quelle fondamentali, diverse da ' '
2. apre il db, scrive i dati (separandoli da quelli precedenti con una serie di trattini)
3. Manda un'email all'utente
4. chiude il db
5. stampa un messaggio di ringraziamento reindirizzandoli dopo 5 sec alla pagina precedente
*/
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'>";
}
?>
Quando vado a provare il programma però mi da errore sulla riga sulla quale si trova la funzione mail().
Cosa sbaglio??
Grazie a tutti 
Steave