Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP5 - HELP]Problema sintassi per modulo invio mail

    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
    Codice 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");
            }
    }
    ?> 
    poi utilizzo questo script che in caso di errore evidenzia il campo errato
    Codice PHP:
    <?php 
                            
    if($nameErr
                                echo 
    '[b]<font color="#FF0000">Nome :</font>[/b]'
                            else 
                                echo 
    "Nome :</font>";
                            
    ?>
    al form ho dato action
    Codice PHP:
    <?php echo $_SERVER['PHP_SELF']; ?>
    spero mi aiuterete perchè non trovo una soluzione...
    grazie
    Per una battaglia sono sempre a disposizione

  2. #2
    ps = il problema è sul campo "NOTE"... se inserisco solo questo campo senza compilare gli altri invia la mail lo stesso...

    Per una battaglia sono sempre a disposizione

  3. #3
    nessuno mi sa aiutare? è unsemplice controllo ma io sono alle prime armi...
    Per una battaglia sono sempre a disposizione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.