2011-12-14 97 views
2

這條if語句不起作用。我試圖讓所有的東西都必須包含第一個要顯示的語句的值,但是隻有一個值被選擇時纔有效。如果語句不檢查每個值是否被選中

<?php 

    if ((isset($_POST["FirstName"]))&&(isset($_POST['SecondName'])) 
     &&(isset($_POST['email']))&&(isset($_POST["submit"]))) { 

    echo "You've given all your details"; 
    }   
    else { 
    echo "Please enter all your details"; 
    } 

    ?> 
+1

什麼是'不working`呢?收到錯誤訊息? – Neal 2011-12-14 22:01:27

+0

你能提供一個var_export($ _ POST)的例子嗎? – 2011-12-14 22:01:49

+0

當你var_dump時,`$ _POST`看起來像什麼? – 2011-12-14 22:02:00

回答

0

這是檢查的時候我做什麼我的表格

<?php 

$firstname= $_POST['FirstName']; 
$secondname = $_POST['SecondName']; 
$email = $_POST['email']; 
$submit = $_POST['submit']; 


    if ($submit) 
    { 
     if ($firstname&&$secondname&&$email) 
     { 

      echo "You've given all your details"; 

     } 
    else 
     echo "Please enter all your details"; 

    } 
    ?> 

,但我可能錯過理解你綁做什麼:),請不要忽略這一點,如果這根本是沒有意義的(IM仍然相當新的PHP)

1

即使輸入未填充,它也會被設置。你需要檢查它是否被設置,是否包含輸入。

試着做一個函數來做到這一點:

function issetWithInput(&$va){ 
    return (isset($va) && !empty($va)); 
      //checks that it is set and contains input. 
} 

然後,你可以這樣做:

if(issetWithInput($_POST["FirstName"])&&issetWithInput($_POST['SecondName'])..) { 
1

試試這個

<?php 
if (isset($_POST['FirstName']) && 
    isset($_POST['SecondName']) && 
    isset($_POST['email']) && 
    isset($_POST['submit']) && 
    !empty($_POST['SecondName']) && 
    !empty($_POST['FirstName']) && 
    !empty($_POST['email'])) { 

echo "You've given all your details"; 
}   
else { 
echo "Please enter all your details"; 
} 

?>