0

PHP を使用して $_POST["pass"] が設定されているかどうかを確認し、設定されていない場合は何かを実行し、設定されている場合は別のことを実行したいと考えています。論理が間違っています。

私はこのようなphpコードを持っています...

if (!isset($_POST["pass"])) {
   ...some form with an input type text here...

   if (...wrote the wrong thing in input type text...) {
       echo "something is wrong....";
   }
   else {
    $pass_var = "Pass";
    $pass_var = $_POST["pass"];
   }
}
else {
echo "This thing is working...";
}

入力タイプのテキストに正しいことを入力した場合、「これは機能しています」に到達したくありません。

フォームに正しいことを入力しても、「これは機能しています...」というメッセージが表示されないことを除けば、ほとんど問題なく動作します。

ページは何もしません..

きっとそれは

$pass_var = "Pass";
$pass_var = $_POST["pass"];

私が間違っていること。

これを別の方法でセットアップして機能させることができることは知っていますが、このようにセットアップされた大きなスクリプトがあり、本当に機能させたい...

4

4 に答える 4

0

HTML フォームに "method='POST'" があることを確認してください。それ以外の場合、$_POST は php でアクセスできず、ロジックは少し厄介でした。これを試してみてください。

例えば

if (!isset($_POST["pass"])) {
    //no POST so echo form 
    echo "<form action='".$_SERVER['PHP_SELF']."' method='POST'>
    <input type='text' name='txtInput' />
    <input type='submit' name='pass' />
    </form>";
} elseif (isset($_POST["pass"])) {
    //have POST check txtInput for "right thing"
    if ($_POST["txtInput"] == "wrong thing") {
       echo "something is wrong....";
   } elseif ($_POST["txtInput"] == "right thing") {
    //$pass_var = "Pass"; 
    $pass_var = $_POST["pass"];
    echo "This thing is working...";
   }
}
于 2013-10-16T08:19:10.507 に答える
-2

まあ、 ifが設定されていないif (!isset($_POST["pass"]))ことを意味するので、「!」を削除することをお勧めします。ないことを表します。$_POST["pass"]

于 2013-10-16T07:08:33.400 に答える