Arhn - архитектура программирования

PHP $_POST не работает, но $_GET работает нормально

Я пытаюсь создать простую систему входа в систему, используя <form method="post">. Все отлично работает на MAMP на моем ноутбуке, но когда я загружаю скрипт на сервер (Windows), он не работает; кажется, что массив $_POST пуст.

Я закомментировал все, кроме голых костей, и это все еще не работает.

индекс.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» в двух вышеуказанных файлах, все будет работать нормально. Но я не хочу использовать get. ($_REQUEST также не работает, если я отправляю форму с помощью метода = "post").

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

Любые идеи?

РЕДАКТИРОВАТЬ: Решено! Увидеть ниже.

13.03.2013


Ответы:


1

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

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

RadCompression
RadUploadModule

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

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

17.04.2013
  • как отключить эти модули в MAMP, можете ли вы объяснить, пожалуйста 24.05.2018

  • 2

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

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

    13.03.2013
  • Эта статья о IIS; вопрос про апач. 13.03.2013
  • ДОХ. Я слишком быстро прочитал вопрос. Я видел Windows и предполагал IIS. 13.03.2013
  • @AarolamaBluenk - PHPinfo почти наверняка говорит, что это IIS. 13.03.2013
  • Действительно так. Microsoft-IIS/7.5. 13.03.2013
  • Мои извинения. Прочитайте, что OP использует MAMP. 13.03.2013
  • Мех, оставьте этот комментарий живым, я подозреваю, что это поможет кому-то в будущем. 13.03.2013
  • @AarolamaBluenk Я разрабатываю MAMP на своем ноутбуке (который отлично работает), но затем развертываю его на сервере Windows (где он не работает). Отредактировал вопрос, чтобы сделать его более понятным. 14.03.2013
  • Я думаю, что у меня возникла эта проблема с сайтом, размещенным в Windows Azure, _GET работает нормально, _post не передает данные из формы. 06.11.2013

  • 3

    У меня была та же проблема с $_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

    18.09.2013
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..