0

フォーム:

<form action="/HW2/controllers/login.php" id = "login-box" method = "post">
        Username: <input type="text" name='user'><br>
        Password: <input type="text" name='pwd'><br>
        <input type="submit">
    </form>

アクション:

<?php
require("../config/config.php");
if(isset($_POST['user']) && isset($_POST['pwd'])){
    if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
        PASSWORD) == 0){
        session_start();
        $_SESSION['logon'] = true;
        echo "success";
        //header("location: /HW2/index.php?view=loggedin");
    }else{
        print_r("Sorry, your username and/or password are invalid. Try Again?");
        //header("location: /HW2/index.php?view=loginPage");
        }
}else{
    print_r("Post data not sent.");
}
?>

私は多くの異なるアプローチを試しましたが、すべて「投稿データが送信されませんでした。」($_POST 値にアクセスしようとすると、別名「未定義のインデックス:」) という結果になりました。どんな助けでも大歓迎です。私はphpの完全なスクラブです。それはおそらく信じられないほど単純で愚かなものです。

前もって感謝します!

4

3 に答える 3

0

最後の「else」は必要ないと思います

のみ使用

if(isset($_POST['user']) && isset($_POST['pwd'])){
if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
    PASSWORD) == 0){
    session_start();
    $_SESSION['logon'] = true;
    echo "success";
    //header("location: /HW2/index.php?view=loggedin");
}else{
    print_r("Sorry, your username and/or password are invalid. Try Again?");
    //header("location: /HW2/index.php?view=loginPage");
    }

}

于 2013-10-02T12:47:36.020 に答える
0

皆さんの回答に感謝します。コンピューターを再起動して昼寝をした後、コードが正常に機能していたことがわかりました。

私の推測では、chrome または apache のいずれかが $_POST 変数の処理を誤っていたのですが、私はあまり経験がないので、唾を吐くだけです。いずれにせよ、私のコードは私が今したいことをしています。

とにかく助けてくれてありがとう!

于 2013-10-02T21:06:19.753 に答える