2012-05-21 27 views
6
次の形式は、IE9の空 $_POST変数を起こし

に空です。

<form id='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 

フォームはFirefoxとChromeで完全に動作します。すべての変数は、問題なしで$_POST変数に表示されます。

はIE9で、しかし、フォームが正しく送信されているが、$_POSTは、空の配列です。つまり、login.php:

print_r($_POST); 

は空の配列を出力します。私はFirefoxとChromeとは異なる動作をするIE9について何が違うのか理解しようとしています。私はそれを理解できません。

は、私は人々の問題を引き起こしているApacheの下にいくつかのモジュールの言及を見つけたが、それはそれではないですので、私は、 IIS7、ないのApacheを実行していますよ。 Rubyフォーラムの誰かが、レジストリ内でDisableNTLMPreAuthを1に設定していると言いましたが、それも修正されていません。

何か助けていただければ幸いです。

+0

アクションをselfに設定し、そこでprint_rを実行してみてください。または、私たちにlogin.phpを表示していますか? –

+1

phpinfo()の出力を試しましたか?リクエスト変数のいずれかが入力されているかどうかを確認することは面白いでしょう。たとえば、$ _REQUEST –

+5

IEの開発者用コンソールを開き(F12キーを押す)、ネットワークタブに切り替えます。今あなたのフォームを提出し、表示されたリクエストを見てください:そこに記載されたポスト値(問題がサーバー側であることを意味する)か、それらが欠落しています(問題はクライアント側です)。 – oezi

答えて

-1

plzはフォームの "name" 属性を入力します。

<form id='login' name='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 
-1

理由はセッションを維持していないためです。 FirefoxとChromeでは、コードを開発することに関係なくセッションを維持し、ユーザーに良いことを提供します。 IE6-9では、IEはセッションを維持できません。開発者はそれをチェックしなければなりません。セッションが維持されていない場合は、ロードされたすべてのページが新しいセッションなので、投稿はありません。 IEは何とかページを再リロードされ、すなわち -

0

は、私は、これは二重の打撃をどうすると思います。バグとして偶然にページを再読み込みするクライアントサイドのもの(jQuery?)がありますか?全く新しいページに投稿して、<?PHP die ('<pre>'.print_r($_REQUEST,true).'</pre>');?>と一番上の行に書いてみて、何が起こっているのかを見てください。

1

受け入れる-文字セットは、Internet Explorerでサポートされていません。それを削除し、それがあなたの問題を解決するかどうかを確認してください。