2009-08-18 5 views
0

、私は(削除した書式)の形式を持っている:

<form action="/path/foo.php" method="post"> 
Email: <input type="text" name="email"> 
Password: <input type="password" name="password"> 
<input type="checkbox" name="remember" checked="checked"> Remember me 
<input type="submit" value="Log In"> 
</form> 

時々、ユーザーがログインすることができません:報告された行動は、彼らがログインしようとした、新鮮なログイン画面が表示されたということでした。

問題を複製できたとき、$ _POSTは空です:$ _POST ['email']と$ _POST ['password']には送信された値がなく、次のログだけが "## ":

error_log("#" . file_get_contents("php://input") . "#"); 

なぜこれがリダイレクトに起因するのかわかりません。それは/ directory - >/directory /の場合には当てはまりません。そしてApacheの関連するVirtualHostセクションを通した見直しはほとんど書き直されておらず、ファイルに影響を与えるものではありません。 (表示されたURLは、フォームで参照されているものと同じです)

システムは数ヶ月間存在しており、問題は私に今日最初に報告されました。

最近のバージョンで改良される可能性のある流行がある場合に備えて、最新のApacheとPHP(5)のアップデートを予定しています。しかし、私はフォームを記入した後に空の$ _POSTを得るかもしれない他の方法を聞くことに非常に興味があります。

思考?

+2

フレームワークまたはCMSの中で、これはまったくまっすぐなPHPですか? –

+0

ブラウザの情報をログに記録したい場合があります。ブラウザに関連した問題かもしれません。 – Lucky

+0

"error_log(var_dump($ HTTP_RAW_POST_DATA));" "NULL"を表示します。 – JonathanHayward

答えて

0

あなたがラッキーに言ったように、これがFFの問題であることを確認して、ユーザーにすべてのプラグイン/アドオンを無効にしてからやり直させることができます。そこにはいくつかの葛藤があるかもしれません。

+0

私は私の内線をオフにするかどうかをチェックしているかどうかを確認していますが、総ユーザの数が少なく、この問題を抱えていると伝えられている(そして、私はなぜサイトがFirefoxユーザをもっと引き付けるのか分からない)、問題を報告している人の数がFirefox拡張機能を実行している人の数を超えていると思う。 (しかし、問題が拡張機能なしでFirefox上に現れているかどうかを確認するために...) – JonathanHayward

-1

'register_globals'を有効にしていますか?これはあなたのPOSTされたデータを$ _POST配列に存在する代わりに$ emailと$ passwordに割り当てる恐ろしいセキュリティホールです。

このオプションを有効にすると、無効にするとスクリプトが正しく実行され、潜在的なセキュリティ上の脅威が取り除かれます。

+0

また、そのページでJavaScriptを実行していますか? POSTを妨げる可能性があります。 –

+3

$ _POST、$ _GETは、register_globalsの設定に関係なく設定されます。 register_globalsをオンまたはオフにするだけで、リクエストからのグローバルの自動集団化が行われますが、前述のスーパーグローバル配列/コレクションの集団には影響しません。 –

+1

@all - 1回の投票で十分です。その答えは役に立たないかもしれませんが、彼は役に立っています*。 – karim79

0

データは$ _REQUEST変数で利用できますか?私はそれがPOST特有ではないことを知っていますが、それは投稿されたデータで埋めるべきです。

関連する問題

 関連する問題