PHP $ _POST не работает, но $ _GET отлично работает

Я пытаюсь создать простую систему входа, используя <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); 

Когда я отправляю форму, независимо от того, что я помещаю в текстовые поля, я вижу следующее:

 array(0) { } string(0) "" NULL 

Если я изменил все экземпляры «post», чтобы «получить» в двух вышеуказанных файлах, все работает нормально. Но я не хочу использовать get. ($ _REQUEST не работает, если я отправлю форму, используя метод = "post").

NB это все отлично работает на localhost, но не на сервере (который работает под управлением Windows.) Таким образом, это будет проблемой с сервером, но я понятия не имею, что. Вы можете увидеть PHPInfo здесь: http://brailleapps.org/phpinf0.php

Есть идеи?

EDIT: Решено! Смотри ниже.

В конце концов, я понял, что я мог бы опубликовать то, что сработало здесь, если кто-то другой будет иметь такую ​​же проблему в будущем.

Оказывается, один из этих HTTP-модулей мешал POST:

RadCompression
RadUploadModule

Когда эти модули отключены, POST работал нормально.

(NB это было в совершенно новом приложении, где я знал, что не существует никакого существующего кода, который мог бы зависеть от одного из этих модулей … отключение их может иметь непреднамеренные последствия, о которых я не знаю, YMMV.)

Одна из возможностей заключается в том, что POST не является допустимым глаголом на сервере:

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

У меня была такая же проблема, когда $ _POST был пустым / NULL, и, проведя 30 минут поиска SO и Google, я наконец нашел решение, которое сработало для меня.

Поскольку я не знаю, как изменить файл php.ini для MAMP, я редактировал свой htaccess, чтобы включить это:

 php_value post_max_size 60M php_value upload_max_filesize 60M 

и теперь я могу var_dump ($ _ POST) с представленным вводом.

Ссылка ссылки: http://helpfulcoder.blogspot.ca/2011/01/empty-post-array-in-mamp.html