1

私はしばらくの間この問題を抱えていました、これは私のフォームのコードです:

    <form action="site/Main.php" method="post">
        <p><label for="user" style="text-indent:415px;">User</label> <input type="text" name="user" /></p>
        <p><label for="password">Password</label> <input type="password" name="password" /></p>
        <p class="submit"><input type="submit" value="log in" /></p>
    </form>

このフォームは私のadmin.phpページにあり、変数「user」と「password」を自分のsite / main.phpページに渡したいのですが、変数にアクセスしようとすると、phpはそれらが存在しないことを通知します。これは私のsite/main.phpページにあるコードです:

    <?php
    if(isset($_POST)){
        if($_POST["user"] == "Project" && $_POST["password"] == "Project2012"){
            echo "Welcome!";
        } else{
            echo "Wrong username or password!";
        }
    }
    ?>

そして、私は次のエラーを受け取り続けます:

(!)注意:未定義のインデックス:10行目のC:\ wamp \ www \ site\Main.phpのユーザー

$ _POST変数がメインページに送信されていないように見える理由について何か考えはありますか?

よろしくお願いします!

4

3 に答える 3

1

isset()ではなくempty()を使用して$_POST配列を確認します。また、比較または使用する前に、必ず配列のインデックスを確認してください。

<?php
   if(!empty($_POST)){
     if(isset($_POST["user"])  && 
       isset($_POST["password"]) && 
       $_POST["user"] == "Project" && 
       $_POST["password"] == "Project2012"){
         echo "Welcome!";
     } else{
         echo "Wrong username or password!";
     }
 ?>
于 2012-11-13T19:06:49.673 に答える
0

C:\ wamp \ www \ site \ Main.php

実際に正しいフォルダ/ファイル?
他のユーザーが述べたように、あなたは使用する必要があります

if(isset($_POST['user']))

それでも、パスとしてフォームでsite/Main.phpを使用しています。投稿したエラーメッセージは、$ _ POSTデータが送信されていることをC:\wamp\www\site\Main.php示しています-ファイルはどこにありますか?そうでない場合は、それがエラーです。

よろしくお願いします、

ステファンS。

編集:前述のように、これは実際にはエラーではありません。ちょうどvar_dump($_POST);またはprint_r($_POST);あなたのMain.phpでお勧めします

そして:それは実際にあなたのコードですか?つまり、コード例では、Main.phpに10行目も存在しません。

于 2012-11-13T19:07:25.613 に答える
0

それは非常に奇妙でしたが、数回試した後、私がしたことは変化でした:

    <form action="site/Main.php" method="post">

にとって:

    <form action="Main.php" method="post">

そして、それが機能し始め、それから私はそれを元の形に戻し、そしてそれは機能し続けました。皆さんのコメントに感謝します。彼らは皆、私の変数をチェックするさまざまな方法で私を助けてくれました。助けてくれてありがとう。

于 2012-11-17T02:39:29.010 に答える