2011-12-14 7 views
2

このif文は機能しません。私はすべてのものに最初のステートメントの値が含まれていなければならないようにしようとしていますが、1つの値だけが選択されている場合は機能します。文がチェックされていない場合は、各値が選択されます。

<?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

「動作しません」とは何ですか?エラーメッセージが表示されますか? – Neal

+0

'var_export($ _ POST)'が失敗したときの見本を提供できますか? –

+0

あなたがそれをvar_dumpするとき、 '$ _POST'はどのように見えますか? –

答えて

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"; 

    } 
    ?> 

私はあなたがしたいことを理解していないかも知れません:)これは全く意味がない場合、これを無視してください。

+0

ehhhhhこれはまだ問題を抱えている可能性があります... – Neal

+0

:)私はまだそれをすべて笑っています、私はちょうど私が前にそれを与えるだろうと思った:) –

+1

あなたの部分に良い試着^ _^ – Neal

1

入力が入力されなくても設定されます。設定されているか、入力が含まれているかどうかを確認する必要があります。

ちょうどそれをする関数を作ってみましょう:

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

次に、あなたのような何かを行うことができます。

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

ありがとうございます。 – inperspective

+0

@RicardoCollinsは喜んでお手伝いします^ _^ – Neal

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"; 
} 

?> 
+0

実際に**何も設定されていない場合、これはエラー(または警告)にぶつかります** – Neal

+0

ありがとうございます。これは動作します! – inperspective

+0

Nealに注意してくれてありがとう、コードを修正しました。リカルドは、変数を設定することを尋ねることをお勧めします。それから、空ではないことを尋ねてください。 –

関連する問題