Я немного смущен этим. Я надеюсь, что это нечто дико очевидное, что я пропустил! У меня очень простая форма:
<form class="form-signin" role="form" name="login" method="POST" action="/page"> <input type="password" name="password" /> <input type="submit" value="Sign in" /> </form>
Примечание: эта страница находится на /page
после следующего HTML:
В /page
меня есть это в самом верху файла:
<?php var_dump($_SERVER['REQUEST_METHOD']);
По какой-то причине он всегда появляется как GET
когда я отправляю эту форму. Если я выберу action="/page"
, то оно появится как POST
. Что мне здесь не хватает?
Примечание. Даже когда я загружаю страницу, а затем выставляю ее после завершения var_dump()
, она по-прежнему показывает GET
.
На временной шкале инспектора я вижу это по запросу:
Благодаря комментариям к моему вопросу я нашел ответ в конфигурации apache. Похоже, поскольку файл index.php
находится внутри папки, называемой page
, apache автоматически перенаправляется на страницу с косой чертой. Это значение по умолчанию, как показано в документации Apache directorySlash .
Поскольку они предупреждают об отказе от этого, я просто изменим URL-адрес на то, что я публикую. В качестве альтернативы, конечно, я мог бы добавить файл .htaccess
с правильной настройкой правил перезаписи. \
Спасибо всем за помощь! В качестве примечания стороны, инспектор Сафари оставил меня немного желающим в этом случае. Chrome оказался гораздо лучшим вариантом для тестирования.