dove sbaglio? questo script per l'invio di un preventivo (per ora senza db perchè sono ancora alle prime armi) non funziona correttamente.. a volte invia la mail anche se non sono stati compilati correttamente tutti i dati..dov'è che ho sbagliato?
questo è il codice del controllo errori
poi utilizzo questo script che in caso di errore evidenzia il campo erratoCodice PHP:$checkErr = FALSE;
$nameErr = FALSE;
$surnameErr = FALSE;
$viaErr = FALSE;
$cittaErr = FALSE;
$capErr = FALSE;
$telErr = FALSE;
$emailErr = FALSE;
$noteErr = FALSE;
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$surname = $_POST['surname'];
$via = $_POST['via'];
$citta = $_POST['citta'];
$cap = $_POST['cap'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$note = $_POST['note'];
if(trim($name) == "") {
$nameErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$nameErr = FALSE;
}
if(trim($surname) == "") {
$surnameErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$surnameErr = FALSE;
}
if(trim($via) == "") {
$viaErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$viaErr = FALSE;
}
if(trim($citta) == "") {
$cittaErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$citaErr = FALSE;
}
if(trim($cap) == "" || is_numeric(TRIM($cap)) == FALSE || strlen(trim($cap)) != 5) {
$capErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$capErr = FALSE;
}
if(trim($tel) == "" || is_numeric($tel) == FALSE) {
$telErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$telErr = FALSE;
}
if(trim($email) == "" || trim($email) == '@' || stripos($email,'@') == FALSE) {
$emailErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$emailErr = FALSE;
}
if(trim($note) == "") {
$noteErr = TRUE;
$checkErr = TRUE;
} else {
$checkErr = FALSE;
$noteErr = FALSE;
}
if ($checkErr == TRUE) {
echo '<p align="center">[b]Si sono verificati alcuni errori![/b]</p>';
} else {
$testoMessaggio = "Nome: $name \n Cognome: $surname \n Via: $via \n Città: $citta \n Provincia: $provincia \n CAP: $cap \n Telefono: $tel \n Cellulare: $cell \n Fax: $fax \n E-mail: $email \n Note: $note";
if (mail("miaMail","Richiesta Preventivo","$testoMessaggio"))
header("location: mailOk.php");
else
header("location: errorMail.php");
}
}
?>
al form ho dato actionCodice PHP:<?php
if($nameErr)
echo '[b]<font color="#FF0000">Nome :</font>[/b]';
else
echo "Nome :</font>";
?>spero mi aiuterete perchè non trovo una soluzione...Codice PHP:<?php echo $_SERVER['PHP_SELF']; ?>![]()
grazie

Rispondi quotando