Ciao a tutti!
Ho un grosso problema con uno script in php da me creato e non riesco a venirne fuori... Si tratta di una newsletter. In pratica ho un form dove l'utente inserisce la mail e può scegliere se iscriversi o cancellarsi tramite un input radio. Lo script funziona bene per quanto riguarda l'iscrizione e la cancellazione (si appoggia su un database mysql), ma poi, una volta avvenuta l'azione, io vorrei inviare una mail all'indirizzo segnalato per avvisare l'utente..e qui casca l'asino! Non funziona! Quelli dell'hosting mi dicono che è tutto ok, ma le mail non arrivano..
codice:
<?php
include ("config.inc.php");
$email = $_POST['email'];
$action = $_POST['action'];
$intestazioni = "MIME-Version: 1.0\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\n";
$intestazioni .= "From: MioSito <info@miosito.it>\n\n";
$ogg1 = "Iscrizione alla Newsletter";
$ogg2 = "Cancellazione dalla Newsletter";
$body1 = "<html><body><h3>Iscrizione alla Newsletter di Localando avvenuta con successo. Grazie!!!</h3>
Da oggi riceverei a questo indirizzo notizie, curiosità e molto altro!</p></body></html>";
$body2 = "<html><body><h3>Cancellazione dalla Newsletter di Localando avvenuta con successo.</h3>
Da oggi non avrai più nostre notizie! :-(</p></body></html>";
$check = 0;
if (!isset($email) OR ($email=="")) {
print "<p class=\"errore\">Non hai compilato i campi obbligatori!</p>
";
} elseif (!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $email)){
print "<p class=\"errore\">Non hai inserito una email valida!</p>
";
} else {
$email = stripslashes(trim($email));
$email = strtolower($email);
$check = 1;
}
$db = mysql_connect($db_host, $db_user, $db_password)
or die("Connessione non riuscita: " . mysql_error());
$select = mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
if ($check == 1) {
if ($action=="subc") {
$query = "SELECT email FROM newsletter WHERE email = '$email'";
$result = mysql_query($query, $db);
$rows = mysql_num_rows($result);
if($rows>0) {
print("<p class=\"errore\">La tua email è già nel database.</p>
");
} else {
$query = "INSERT INTO newsletter (email) VALUES ('$email')";
if (mysql_query($query, $db)) {
print("<p class=\"inrilievo\">La tua email è stata aggiunta alla lista.</p><p class=\"link\">Abbiamo inviato una email di conferma all'indirizzo da te inserito.</p>
");
mail($email, $ogg1, $body1, $intestazioni);
} else {
print ("Si è verificato un errore di comunicazione con il database. Riprova più tardi. Grazie!");
}
}
}
elseif ($action=="unsubc") {
if ($rows===0) {
print ("<p class=\"errore\">La tua email non è in lista.</p>
");
} else {
$query = "DELETE FROM newsletter WHERE email = '$email'";
if (mysql_query($query, $db)) {
print("<p class=\"inrilievo\">Cancellazione avvenuta con successo.</p>
");
mail($email, $ogg2, $body2, $intestazioni);
} else {
print ("Si è verificato un errore di comunicazione con il database. Riprova più tardi. Grazie!");
}
}
}
}
?>
Spero che qualcuno possa aiutarmi, perchè è tutta ieri che lo testo e non ci capisco più niente!!! :berto: