2013-03-13 38 views
12

<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

アイデア?

編集:解決済み!下記参照。

+0

'$ _SERVER'にはPOSTリクエストに何が含まれていますか? enctypeを試しましたか? FastCGIクライアントは、[POST verb for IIS](http:// stackoverflow。com/questions/313188/empty-post-array-in-php-5-2-6-iis-cgi)? – mario

+0

私たちは同じ問題を抱えていましたが、ライブサーバーに移動すると、ajaxポストは機能しませんでした。長い間闘争を重ねた結果、サーバーのmod書き換えモジュールが無効になっていました。私が知っている限り、POSTとmodリライトの関係はありません。ちょっと試してみてください。 – Samy

+3

コンテンツタイプに問題がある可能性があります。コンテンツタイプが再確認されていないか見つからない場合、 '$ _POST'は空です。 '$ {SERVER ['CONTENT_TYPE'])){$ _SERVER ['CONTENT_TYPE'] =" application/x-www-form-urlencoded ";}'を設定してみてください。 'var_dump(file_get_contents( 'php:// input'));'とは何ですか? – Quasdunk

答えて

3

私はそれが最終的に、私も他のケースの誰かにここで働いていたものを投稿するかもしれない数字が同じ問題を抱えている固定です将来は。

は、これらのHTTPモジュールの一つは、POSTに干渉して判明:

RadCompression
RadUploadModule

これらのモジュールでPOSTがうまく働いた、オフ。

(これはまったく新しいアプリで、これらのモジュールの1つに依存していた既存のコードがないことを知っていました...それらを無効にすると、私が気づいていない意図しない結果が生じる可能性があります。)

2

一つの可能​​性は、POSTは、サーバー上許さ動詞ではないということです。

http://www.iis.net/configreference/system.webserver/security/requestfiltering/verbs

+0

この記事はIISに関するものです。質問はApacheに関するものです。 – Kermit

+0

DOH。私はその質問をあまりにも早く読んだ。私はWindowsを見て、IISを想定しました。 – Bart

+1

@AarolamaBluenk - PHPinfoはIISであることをほぼ確実に示しています。 – slugonamission

0

私は$ _POSTが空/ NULLであるのと同じ問題を抱えていました.30分を費やしてSOとGoogleを検索したところ、私は最終的に私のために働く解決策を見つけました。

私はMAMPのためのphp.iniファイルを変更する方法がわからないので、私はこれ含めて私のhtaccessファイルを編集した:

php_value post_max_size 60M 
php_value upload_max_filesize 60M 

を、私は今、提出された入力罰金と($ _ POST)をのvar_dumpすることができます。

参照リンク:http://helpfulcoder.blogspot.ca/2011/01/empty-post-array-in-mamp.html

関連する問題