Ciao ragazzi,
Sto cercando di costruire un form che controlli i campi se sono compilati o vuoti ma….. mi da sempre email vuota anche se è compilata e non mi invia il Form, ci date un occhiata………….. per capire che cosa non va?
php
<?php
// Comunica tutti gli errori PHP (il valore 63 può essere usato in PHP 3)
//echo "vecchio_error_reporting:" . error_reporting(E_ALL ^ E_NOTICE) . "**
";
error_reporting(E_ALL ^ E_NOTICE);
// Stesso effetto di error_reporting(E_ALL);
ini_set('error_reporting', E_ALL ^ E_NOTICE);
$email=$_POST['email'];
#######################################
# IMPOSTAZIONI DA CONFIGURARE #
#######################################
//(1) indirizzo email del destinatario del modulo
// $destinatario = "mariodp@alice.it";
$destinatario = "info@#.it";
//(2) indirizzo email del mittente, campo FROM
// non toccare se desiderate che l'indirizzo email inserito nel modulo sia
// riportato nel campo DA del messaggio che sarà ricevuto.
// Se invece desiderate un campo fisso annullare la prima riga e abilitare
// la seconda inserendo la dicitura desiderata (per annullare mettere //
// all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
$nome_mittente = "$email";
// $email_mittente = "$email";
// $nome_mittente = "Dal Modulo";
//(3) oggetto del messaggio
$oggetto_email = "Modulo inviato dal sito www.miosito.it";
//(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
// (valori possibili: "y" e "n")
$all_free = "y";
//(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
// da virgola, i nomi dei campi da rendere OBBLIGATORI
// Esempio: $campi_req = array("nome","telefono","via");
// $campi_req = array("nome","email");
//(6) controllo validità del campo email. (valori possibili: "y" e "n")
$obbligo_email = "y";
//(7) obbligare l'utente ad accettare le condizioni.
// (valori possibili: "y" e "n")
$accetta_condizioni = "y";
//(8) URL della pagina di ringraziamento
$pagina_grazie = "http://www.miosito.it/form/grazie.php";
//(9) URL della pagina errore campi vuoti
$pagina_error_empty = "http://www.miosito.it/form/errore_campi_vuoti.php";
//(10) URL della pagina errore email
$pagina_error_email = "http://www.#.it/form/errore_email.php";
//(11) URL della pagina errore condizioni non accettate
$pagina_error_condizioni = "http://www.#.it/form/errore_condizioni.htm";
//(12) URL della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer = "http://www.#.it/form/errore_referer.htm";
#######################################
# FINE IMPOSTAZIONI DA CONFIGURARE #
#######################################
//ora e data
$ora = date ("H:i:s");
$data = date ("d/m/Y");
//intestazione email che arriva al destinatario
$corpo = "
Modulo inviato il $data alle ore $ora
Riepilogo dati:\n\n";
//controllo codice dinamico
// if ($resp->is_valid) {
// richiesta approvata da captcha!
// } else {
# set the error code so that we can display it. You could also use
# die ("reCAPTCHA failed"), but using the error message is
# more user friendly
// $error = $resp->error;
//echo $error;
header ("Location: $pagina_error_email");
exit();
// }
//============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\
########### CODICI ###########
//variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
if(!isset($_SERVER) OR
!$_SERVER OR
!is_array($_SERVER) OR
count(array_diff($_SERVER, $HTTP_SERVER_VARS))) {
$_POST = &$HTTP_POST_VARS;
}
//prende IP ADDRESS
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");
}
###################################
//controllo referer
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'])){
if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){
$control_email++;
}
} else {
$control_email = 0;
}
}
########### CONTROLLO CONDIZIONI ###########
$control_condizioni = 0;
if($accetta_condizioni == "y"){
if(isset($_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){
$control_condizioni = 0;
} else {
$control_condizioni ++;
}
}
//echo "control_campi:$control_campi **
control_email:$control_email **
control_condizioni:$control_condizioni **
";
########### INVIO EMAIL ###########
if($control_campi != 0){
header ("Location: $pagina_error_empty");
exit();
} else {
// echo "nessun header CAMPI**
";
}
if($control_email != 0){
header ("Location: $pagina_error_email");
exit();
} else {
// echo "nessun header EMAIL**
";
}
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\n
";
// invio e-mail
// Header Mail
$headmail.="From: $destinatario\n";
$headmail.="Return-Path: $nome_mittente\n";
// $headmail.="User-Agent: Php Mail Function\n";
// $headmail.="X-Accept-Language: en-us, en, ita\n";
// $headmail.="MIME-Version: 1.0\n";
// $headmail.="X-Priority: 1 (Highest)\n";
// $headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
// $headmail.="Content-Transfer-Encoding: 7bit\n";
//ini_set('sendmail_from', "$destinatario");
/* echo ("nome_mittente:$nome_mittente--
destinatario:$destinatario--
oggetto_email:$oggetto_email--
corpo:" . nl2br($corpo) . "--
headmail:$headmail--
");
*/
$risultato = mail($destinatario, $oggetto_email, $corpo, $headmail);
// echo "risultato:$risultato--
";
// exit;
header ("Location: $pagina_grazie");
} else {
header ("Location: $pagina_error_condizioni");
}
exit();
?>