Salve
Ho trovato un form di contatto in php che potrebbe essermi utile però ha un problema..
L'e-mail che mando da li arriva a chi compila il form non al destinatario nonostante io abbia impostato l'email del form.
Questo è il form: http://www.luxury-italian-office.com...w/contatti.php
Questo è il codice del file setting.php:
Codice PHP:
<?phpini_set('display_errors', 'On');ini_set('error_reporting', E_ALL & ~E_NOTICE);//email del destinatario del form//$destinatario = 'wordpress@luxury-italian-office.com';//oggetto dell'email inviata$oggetto = 'Mail dal modulo contatti articolo YIW';
//Messaggio d'errore per campi mancanti//Error message for missing fields$error_missing_fields= 'Per favore, completate tutti i campi del form indicati';//Messaggio d'errore del server mail//Error message for mail server$error_mail_server = 'Siamo spiacenti. Si è verificato un errore e l\'email non è stata inviata. Riprovate più tardi.';//Messaggio di conferma invio mail//Info message for correct mail sent$info_mail_sent = 'L\'email è stata inviata correttamente!.';
/* Se il form è stato inviato, elenca i campi che ci si aspetta di ricevere. Evita che qualcuno possa aggiungere dei campi non previsti */$expected = array('nome','email','sito','messaggio');//imposta i campi obbligatori$required = array('nome','email','messaggio');//crea un array vuoto per i campi mancanti$missing = array(); ?>
Questo del file form.php:
codice HTML:
<form action="<?php basename($_SERVER['PHP_SELF']) ?>" method="post" id="formYIW"> <fieldset> <legend><span>Inviaci un messaggio</span></legend> <ol><li><label for="nome">Nome <abbr title="campo obbligatorio">*</abbr></label> <input type="text" name="nome" id="nome" tabindex="1" value="<?php if ( isset( $missing ) && isset($nome) ) echo $nome; ?>" class="<?php if (isset( $missing ) && in_array('nome',$missing)) echo 'error'; ?>"/> </li> <li> <label for="email">Email <abbr title="campo obbligatorio">*</abbr></label> <input type="text" name="email" id="email" tabindex="2" value="<?php if ( isset( $missing ) && isset($email) ) echo $email; ?>" class="<?php if (isset( $missing ) && in_array('email',$missing)) echo 'error'; ?>"/> </li> <li> <label for="sito">Sito web</label> <input type="text" name="sito" id="sito" tabindex="3" value="<?php if ( isset( $missing ) && isset($sito) ) echo $sito; ?>" class="<?php if (isset( $missing ) && in_array('sito',$missing)) echo 'error'; ?>"/> </li> <li> <label for="messaggio">Messaggio <abbr title="campo obbligatorio">*</abbr></label> <textarea name="messaggio" id="messaggio" rows="10" cols="30" tabindex="4" class="<?php if (isset( $missing ) && in_array('messaggio',$missing)) echo 'error'; ?>"><?php if ( isset( $missing ) && isset($messaggio) ) echo $messaggio; ?></textarea> </li> </ol> </fieldset> <p class="controls"> <input type="submit" name="submit" id="submit" value="Invia Mail" tabindex="5" /> </p></form>
Questo del file principale contatti.php:
codice HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Modulo contatti in PHP | Your Inspiration Web</title>
<link rel="stylesheet" type="text/css" href="stile.css" />
</head>
<body>
<?php
require_once 'settings.php';
if(isset($_POST['submit'])){
foreach ($_POST as $key => $value){
//elimina eventuali spazi aggiuntivi
$temp = $value ? trim($value) : '';
//se è richiesta ma vuota aggiungila all'array missing
if(!strlen ($temp) && in_array($key, $required)){
array_push($missing, $key);
}
//se il campo è aspettato, setta la variabile associata
elseif(in_array($key, $expected)){
${$key} = htmlentities($temp); //in questo caso crea $nome, $email, $sito, $commento
}
}
if ( empty($missing) ){
//Se l'array missing è vuoto, vuol dire che sono stati inseriti i valori
//obbligatori. Costruisco il messaggio
$contenuto_email = "Nome: $nome\n\n"; //Queste variabili sono create nel passaggio precedente
$contenuto_email .= "Email: $email\n\n";
$contenuto_email .= "Sito Web: $sito\n\n";
$contenuto_email .= "Messaggio:\n $messaggio\n\n";
//limita la lunghezza a 70 caratteri per la compatibilità
$contenuto_email = wordwrap($contenuto_email,70);
//invia l'email
$mail_sent = mail($email,$oggetto,$contenuto_email, 'From: '.$email);
$info_message = '<p class="info">' . $info_mail_sent . '</p>';
if($mail_sent){
//Se l'email viene inviata l'array missing non serve più quindi lo svuoto
unset($missing);
}
}
}
//se non sono stati immessi campi obbligatori
if ( isset( $_POST['submit'] ) && isset($missing) && !empty($missing)) :
$info_message = '<p class="error">' . $error_missing_fields . '</p>';
elseif ($_POST['submit'] && !$mail_sent) :
//se ci sono stati problemi con l'invio della mail da parte del server
$info_message = '<p class="error">' . $error_mail_server . '</p>';
endif;
//Mostra una notifica sia d'errore che di conferma
if ( isset( $info_message ) && strlen( $info_message ) ) echo $info_message;
//Include il form
require_once 'form.php';
?>
</body>
</html>