2016-02-13 52 views
-2

我希望檢查值first_name,last_name和email。如果值爲空,則重新加載頁面。如果這些值是http://cdubach.com ....我有重新加載頁面時顯示錯誤消息....,我相信我的邏輯是正確的,但出於某種原因,它不工作。我感謝幫助!PHP Form-If值爲空重新加載頁面,如果不爲空將移動到表單處理頁面

<form name="contactform" method="post" action=" 

<?php 

    if ($_SERVER["REQUEST_METHOD"] == "POST") {          
     if (empty($_POST["first_name"]) || empty($_POST["last_name"]) || empty($_POST["email"])) { 
      echo ""; 
     } elseif (isset($_POST["first_name"]) && isset($_POST["last_name"]) && isset($_POST["email"])) { 
      echo "http://cdubach.com/inc/send_form_email.php"; 
     }         
    } 

?>"> 
+1

請記住,必須提交表單才能檢查這些字段是否爲空。您是否期望用戶將填寫未填寫的字段? – fredrover

+0

使用這種方法,用戶必須提交表單兩次。在提交第二個表單之前,可以刪除一個值並且表單仍然可以提交。相反,您可以將值保存到'$ _SESSION'並執行一個'header('location:....');' – Sean

回答

0

如果直接在窗體的action標記插入PHP代碼,這是行不通的:

<form name="contactform" method="post"> 
    <input type="submit" value="click" name="submit"> 
</form> 

<?php 

if (isset($_POST['submit'])) { 
    display(); 
} 

function display() { 

if ($_SERVER["REQUEST_METHOD"] == "POST"){ 

    if (empty($_POST["first_name"]) || empty($_POST["last_name"]) || empty($_POST["email"])) { 

     echo ""; 

    } else if (isset($_POST["first_name"]) && isset($_POST["last_name"]) && isset($_POST["email"])) { 

     echo "http://cdubach.com/inc/send_form_email.php"; 
    } 

    else { 

    } 

} 

} 

?> 

希望這會有所幫助,謝謝!

+0

通常最好的做法是在表單顯示之前放置表單處理邏輯**,這允許重定向,要設置/顯示的消息等。 –

+0

@cale_b Yup,錯過了,更新後,謝謝 – Panda

+0

@CalebDuBach所以,這是你在找什麼? – Panda

相關問題