2016-04-24 59 views
0

下面是我的PHP代碼,目前,它顯示所有的錯誤等,但如果其中一個是正確的,它會提交表單,我如何更改我的代碼,以便如果1是不正確的是不與上次否則,如果提交PHP,不要提交,如果有錯誤

<?php 
$cusMsg = ""; 
$fNameMsg = ""; 

if (isset($_POST["submit"])) { 
    $id = $_POST["custid"]; 

    if(empty($id)) { 
     $cusMsg = '<span class="error"> Field was left empty</span>'; 
    } else if(!is_numeric($id)) { 
     $cusMsg = '<span class="error"> Customer ID must be numeric</span>'; 
    } else if(strlen($id) != 6) { 
     $cusMsg = '<span class="error"> Customer ID must be 6 digits long</span>'; 
    } else { 
     return true; 
    } 

} 

if (isset($_POST["submit"])) { 
    $fName = $_POST["customerfname"]; 
    $pattern = "/^[a-zA-Z-]+$/"; 

    if(empty($fName)) { 
     $fNameMsg = '<span class="error"> Field was left empty</span>'; 
    } else if(!preg_match($pattern, $fName)) { 
     $fNameMsg = '<span class="error"> First name must only containt letters and hyphens</span>'; 
    } else if(strlen($fName) > 20) { 
     $fNameMsg = '<span class="error"> First name must not be longer than 20 characters</span>'; 
    } else { 
     return true; 
    } 

} 

} 
?> 
+1

手冊中去閱讀什麼'return'不 – 2016-04-24 05:31:45

+0

@Dagon謝謝:)它仔細地閱讀起來,知道它的作用擺脫了對所有的人的陳述,然後把所有的代碼爲1 issest($ _ POST [「submit」]),它工作:) – Gajeel

回答

2

而不是其他人,並通過這個

else if(!empty($fName) && preg_match($pattern, $fName) && strlen($fName) < 20){ 
return true; 
} 

它只是使用AND運算符將檢查所有條件,並返回true只有當所有條件符合

1

默認情況下,您可以將標誌變量$ submit設置爲false。

if (isset($_POST["submit"])) { 

    $submit = false; // Add this 

    $id = $_POST["custid"]; 

    if (empty($id)) { 

     $cusMsg = '<span class="error"> Field was left empty</span>'; 

    } else if (!is_numeric($id)) { 

     $cusMsg = '<span class="error"> Customer ID must be numeric</span>'; 

    } else if(strlen($id) != 6) { 

     $cusMsg = '<span class="error"> Customer ID must be 6 digits long</span>'; 

    } else { 

     $submit = true; 
    } 

    // Now check the value of $submit and write your code accordingly. 

    if ($submit) { 
    // Write your submit action 
    } else { 
    // Other action 
    } 

}