2017-11-03 3 views
0

これは今まで私には起こりません。 アクションフォームに簡単な投稿を送信しようとしているログインフォームがあります。私はメソッドを使用するとvar_dumpは配列0を返しますが、メソッドを取得するとvar_dumpを使用してすべての文字列を取得します。フォームメソッドはPOSTではなくGETでしか動作しません

はここに私のhtmlコード

ここ
<form name="mlsnavform" id="mlsnavform" action="script/mlsnavform.php" method="POST"> 
<input id="uname" name="uname"type="text" placeholder="Username" autocomplete="off"> 
<input id="loginbtn" name="loginbtn" type="submit" value="SIGN IN"> 
</form> 

である

<?php 
var_dump($_POST); 
?> 

mlsnavform.phpそして、この結果が array(0) { }

ですが、私が取得するためにポストからの方法を変更したとき、 $ _postの代わりにvar_dump($ _ get)を使用します。私は値を取得しますが、あなたのURLアドレスに表示されているログイン資格情報は、私がやりたいことではありません。 GETを使用して は私が作ることを決定する前に、私は「かのう重複」のために、今、ほぼ2日間スタック上にスクロールしてきた。これは、私には決して起こらない

array(2) { ["uname"]=> string(9) "damnitphp" ["loginbtn"]=> string(7) "SIGN IN" }

カントー必要なもので、私の配列を埋めます新しい投稿がありましたが、1つしか見つかりませんでしたが、 "PHPStorm"についての回答がありましたが、私はphpstormを使用していません。私はnotepad ++を使用しています(崇高なものや原子や括弧を使うことができましたが、私は別のテキストエディタに切り替える必要があると感じていませんでした)。

誰でもこれに関する修正を知っていますか?前もって感謝します!

編集:今日私は4ヶ月前に作成したプロジェクトを開こうと決めましたが、それはいつもうまくいきましたが、そのページの投稿はどちらも動作しません。それで私は何をしましたか?私はこれらの問題がすべて始まる前に数週間前に追加した1つのことを削除することに決めました。

URLからの返信.phpextensionを削除することができます。 これは基本的にこれが私の問題でしたが、これまでインターネットでは他の人が話しているネット上のトピックはありませんでした。おそらくこれに似た問題があるかもしれません。誰かが私にリンクやソリューションをコメントすることができれば大いに感謝しています。

webconfigにURLリライトコードがあると、 "$ _POST"というのは問題ありません。書き換えコードを削除すると、.php拡張子がブラウザに表示されますが、これは$ _postメソッドが再び機能します。

+0

サーバのPHPエラー/警告を確認しましたか? –

+0

$ _POST ['uname']のように一度に1つの値しか取得しようとしなかったのですか?ちょっとした考え。 –

+0

フォームに追加してみてください。enctype = "multipart/form-data" –

答えて

0

あなたは、php.iniからphp.iniの

enable_post_data_readingを確認することができます。

; Whether PHP will read the POST data. 
; This option is enabled by default. 
; Most likely, you won't want to disable this option globally. It causes $_POST 
; and $_FILES to always be empty; the only way you will be able to read the 
; POST data will be through the php://input stream wrapper. This can be useful 
; to proxy requests or to process the POST data in a memory efficient fashion. 
; http://php.net/enable-post-data-reading 

チェックこのオプションがコメント解除されていると";"

;enable_post_data_reading = Off 
+0

';'はその背後にあるので、読み込まれない。私のloginpageに直接actionpageから私のコードを投稿する以外にも、投稿は正常に動作します。しかし、私は通常、それのためのアクションページを作成します。ちょうど私が作成した他の小さなwebappsとほぼ同じように。 :s –

0

でこれをコメントする場合は、おそらくされていますスーパーグローバル変数POSTとGETがあまりにもリテラルな名前を取る。 $ _GETは解析されたクエリ文字列です.HTTPメソッドとは独立しています。つまり、POSTリクエストがあっても常に存在します。 $ _POSTは、いくつかの制約(content-typeヘッダーはapplication/x-www-form-urlencodedまたはmultipart/form-dataのいずれかを指定する必要があります)を満たしている場合、解析されたHTTP本文です。このメソッドは実際には "POST" - 制約に準拠していないときは、POSTメソッドを使用しても、$ _POSTの内部にはデータはありません。

<form name="mlsnavform" id="mlsnavform" enctype="application/x-www-form-urlencoded" action="script/mlsnavform.php" method="POST"> 
     <input id="uname" name="uname"type="text" placeholder="Username" autocomplete="off"> 
     <input id="loginbtn" name="loginbtn" type="submit" value="SIGN IN"> 
</form> 
関連する問題