aleksei13b
@aleksei13b
junior-разработчик

Как проверить массив $_POST?

Помогите понять логику PHP, я отправляю форму методом post на тестовую страницу test.php, на которой печатаю массив post: print_r($_POST). При нажатии на кнопку отправки формы меня перекидывает на страницу test.php где все выводится на экран. Но если я в другой вкладке после этого захожу на страницу test.php там массив $_POST пуст. Почему так?
  • Вопрос задан
  • 778 просмотров
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
PHP работает дискретно.
То есть когда ты делаешь запрос на сервер, РНР скрипт запускается, принимат запрос, возвращает результат, и умирает. И при этом ничего не знает про другие запросы.

Для того чтобы все последующие запросы могли отобразить данные первого, твой скрипт должен сохранять их на сервере, и читать каждый раз, когда он вызывается
Ответ написан
@Bokovlad
Потому что test.php в вашем случае это формально говоря результат обработки того, что вы отправили этой странице методом POST. По факту, открывая test.php просто в браузере - вы делаете запрос серверу методом GET, который в свою очередь ничего не отправляет этой странице (никаких данных для обработки).
Если бы ваш запрос при открытии страницы test.php в браузере был вида /test.php?request=HelloWorld
а в коде test.php был бы код print_r($_GET['request']), то вы бы получили на экран значение параметра request, который был передан браузером на сервер и увидели бы HelloWorld.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tomgif
@tomgif
Веб-разработчик
Чтобы возвращаемая страница узнала о каких либо данных с клиента - их необходимо отправить на сервер при помощи запроса, в вашем случае - POST-запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽