<form method="post">
を使用して簡単なログインシステムを構築しようとしています。私のラップトップではすべてMAMPでうまく動作しますが、サーバにスクリプトをアップロードすると(Windows)動作しません。 $ _POST配列が空であるようです。
私は裸の骨以外のすべてをコメントしましたが、それでも動作しません。
のindex.php:
<form id="login-form" method="POST" action="_scripts/check_login.php">
Email Address
<input name="login-email" type="text" id="login-email">
Password
<input name="login-password" type="text" id="login-password">
<input type="submit" name="Submit" id="login-button" value="Login">
</form>
_scripts/check_login.php:(私はデバッグのためのいくつかのvar_dumps以外のすべてを削除しました)
var_dump($_POST);
$loginEmail = trim($_POST['login-email']);
echo '<br>';
$loginPassword = ($_POST['login-password']);
var_dump($loginEmail);
echo '<br>';
var_dump($loginPassword);
私はフォームを送信、何があっIテキストフィールドを入力すると、次のように表示されます。
array(0) { }
string(0) ""
NULL
「投稿」のすべてのインスタンスを2つのファイルをbove、すべて正常に動作します。しかし、私はgetを使用したくありません。 ($ _REQUESTは、method = "post"を使ってフォームを送信しても機能しません)。
NBこれはすべてlocalhostではうまく動作しますが、Windowsでは(Windowsを実行している)サーバではうまく動作しません。サーバーに問題があるようですが、何もわかりません。あなたはここにPHPInfoを見ることができます:http://brailleapps.org/phpinf0.php
アイデア?
編集:解決済み!下記参照。
'$ _SERVER'にはPOSTリクエストに何が含まれていますか? enctypeを試しましたか? FastCGIクライアントは、[POST verb for IIS](http:// stackoverflow。com/questions/313188/empty-post-array-in-php-5-2-6-iis-cgi)? – mario
私たちは同じ問題を抱えていましたが、ライブサーバーに移動すると、ajaxポストは機能しませんでした。長い間闘争を重ねた結果、サーバーのmod書き換えモジュールが無効になっていました。私が知っている限り、POSTとmodリライトの関係はありません。ちょっと試してみてください。 – Samy
コンテンツタイプに問題がある可能性があります。コンテンツタイプが再確認されていないか見つからない場合、 '$ _POST'は空です。 '$ {SERVER ['CONTENT_TYPE'])){$ _SERVER ['CONTENT_TYPE'] =" application/x-www-form-urlencoded ";}'を設定してみてください。 'var_dump(file_get_contents( 'php:// input'));'とは何ですか? – Quasdunk