Ciao a tutti,
ho scaricato questo form da Saibal con una piccola modifica, ossia così com'è ritorna al mittente una e-mail di conferma. Fino qui tutto ok, ma la cosa che non capisco sarebbe questa che il mittente riceve la conferma però non con il nome del mio sito ma del server, così:
"da: webserver@aruba.it a: mittente@suosito.it" e dovrebbe essere così:
"da: info@miosito.it a: mittente@suosito.it.
posto tutto il codice:
<?php
//email del destinatario del modulo
$destinatario = "info@miosito.com";
//nome mittente per la corretta intestazione del modulo
$nome_mittente = "$nome";
//email mittente per per la corretta intestazione del modulo
$email_mittente = "$mail";
//oggetto dell'email
$oggetto_email = "form compilato da $nome";
//se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y". valori possibili: "y" e "n"
$all_free = "y";
//se invece avete messo "n" inserire tra virgolette, separati da virgola, i nomi dei campi da rendere OBBLIGATORI
$campi_req = array("nome","oggetto");
//controllo del campo email? valori possibili: "y" e "n"
$obbligo_email = "y";
//url della pagina di ringraziamento
$pagina_grazie = "http://www.miosito.com/grazie.php";
//url della pagina errore campi vuoti
$pagina_error_empty = "http://www.miosito.com/errore.php";
//url della pagina errore email
$pagina_error_email = "http://www.miosito.com/errore.php";
//url della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer = "http://www.miosito.com/errore.php";
//orario e data
$ora = date ("H:i:s");
$data = date ("d/m/Y");
//intestazione dell'email (arriva al destinatario)
$corpo = "
Modulo inviato il $data alle ore $ora\n
Riepilogo dati:\n
__________________________________________________ __________\n";
########### CODICE VARIO ###########
//variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
$_POST = &$HTTP_POST_VARS;
}
//prendo il numero IP
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
$ipnumb = getenv("REMOTE_ADDR");
}else {
$ipnumb = getenv("HTTP_X_FORWARDED_FOR");
}
} else {
$ipnumb = getenv("REMOTE_ADDR");
}
###################################
//breve controllo
if(empty($_SERVER["HTTP_REFERER"])){
header ("Location: $pagina_error_referer");
exit();
}
########### CONTROLLO DEI CAMPI ###########
$control_campi = 0;
if($all_free != "y"){
foreach($_POST as $key => $valore){
if(in_array($key,$campi_req)){
if(trim($valore) == ""){
$control_campi++;
}
}
}
} else {
$control_campi = 0;
}
########### CONTROLLO EMAIL ###########
$control_email = 0;
if($obbligo_email == "y"){
if(isset($_POST['email'])){
//espressione regolare
if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){
$control_email++;
}
} else {
$control_email = 0;
}
}
########### VAI CON L'INVIO DELL'EMAIL ###########
if($control_campi == 0){
if($control_email == 0){
if($control_condizioni == 0){
foreach($_POST as $key => $valore){
$key = ucfirst(stripslashes(trim($key)));
$valore = stripslashes(trim($valore));
$key = str_replace("_"," ",$key);
if(trim($valore) == "") $valore = "Non compilato";
$corpo .= $key .": ". $valore ."\n\n";
}
$corpo .= "Numero IP: $ipnumb"."\n";
$corpo .= "
__________________________________________________ __________ \n
";
//inizio l'invio dell'email
mail("$destinatario","$oggetto_email","$corpo", "From: $nome_mittente <$email>");
mail(
// questo è l'indirizzo del cliente
"$email",
// questo è l'oggetto della e-mail che gli arriva
"Grazie per aver mandato i tuoi dati",
// questo è il testo del messaggio
"Caro $nome, i tuoi dati sono stati inseriti nel nostro database.",
// questo è da chi proviene
"Sito Mio"
//chiusura della funzione
);
header ("Location: $pagina_grazie");
} else {
header ("Location: $pagina_error_condizioni");
}
} else {
header ("Location: $pagina_error_email");
}
} else {
header ("Location: $pagina_error_empty");
}
?>
Grazie in anticipo.
____________________________