0

http://www.9lessons.info/2009/09/php-login-page-example.html

login.php の部分で、なぜ$active=$row['active'];. コードを実行すると、Notice: Undefined index: REQUEST_METHOD.how to correct it?が表示されます。ありがとうございました。

私はphpの初心者ですが、うまく学ぶ方法がわかりません。時折 。ネットやその他のチュートリアルに従って、コードをよく理解していませんが、それらからコードを入力します。自分のphpコーディングの能力が一歩ずつ進歩していないように感じます。どうすればよいですか?どうもありがとう。

4

3 に答える 3

1

$active=$row['active'] を追加する理由 - これは、ユーザーがアクティブか指定されていないかを示すフィールドである必要があるようです。しかし、そのコードにはバグがあります。Select はアクティブな列を取りません。

Undefined index: REQUEST_METHOD- 配列に存在しないキーにアクセスしようとすると発生します。次の方法でテストできます if(isset($_SERVER["REQUEST_METHOD"]) && $_SERVER["REQUEST_METHOD"] == "POST") {...}

issetそのようなキーが存在するかどうかを確認する場所。しかし、なぜあなたがそれを持っていないのは奇妙です。ブラウザは常に送信する必要があります。とにかくGETやPOSTのようなものがあります。

学ぶ方法は?簡単な本を読んで、自分の小さなウェブサイトを作っただけです。しかし、その時、私はすでに他の言語での経験がありました. 1 つはっきりしていることは、あなたがリンクを提供してくれたそのサイトは、PHP を学ぶのに最適な方法ではないということです。例にはばかげたバグがあります。さらに、その例では、addslashes を使用して SQL インジェクションを回避していることがわかりますが、これでは十分ではありません。

于 2012-08-31T10:16:59.943 に答える
0

$active=$row['active']; を追加する理由 =>テーブルにはアクティブなフィールド名が含まれているため、その値は取得されていますが、コードでこれを使用する意味はありません。

コードを実行すると、 Notice: Undefined index: REQUEST_METHOD =>login.php に含まれるコードの開始が間違っているため>?phpは のようになります。

したがって、あなたの問題は解決されます。

于 2012-08-31T10:24:46.603 に答える
0

おそらく、サーバーが PHP を完全にサポートしていないため、$_SERVER['REQUEST_METHOD']有効になっていないことを意味します...ローカルで開発している場合は、XAMPPを試して問題のコードをテストしてください。

ただし、実サーバーにデプロイするときは注意してください - REQUEST_METHOD がそこでサポートされていることを確認してください

于 2012-08-31T10:06:36.380 に答える