Массив $_POST теряется при обновлении страницы, на которую была выполнена отправка

Уважаемые коллеги, помогите новичку в модх с такой проблемой. На странице mapwall.ru/cart/ я js-ом вставляю форму в нее с набором hidden инпутов, и js-ом отправляю эту форму на mapwall.ru. Непосредственно после отправки сниппет, включенный в страницу ловит массив $_POST. Но стоит обновить страницу (например, по Ф5), $_POST становится пустым. В чем тут дело? Заранее благодарю.
Вадим
20 февраля 2019, 00:00
modx.pro
1 175
0

Комментарии: 6

vectorserver
20 февраля 2019, 08:29
0
Правильно, _POST это один запрос страницы, после обновления не было повторной отправки.
Тут только спасут куки или сессии
<?php
$_SESSION['mypost'] = $_POST;
//Далее работаем с сессиям
$getSession = $_SESSION['mypost'];
    tolanych
    20 февраля 2019, 09:59
    +1
    На самом деле хранение в сессии это костыль.
    Правильный подход к веб-разработке не выводить POST, а после POST-запроса выполнить редирект на страницу с выводом обработанных данных из БД/другого хранилища
      vectorserver
      20 февраля 2019, 10:03
      0
      Зачем мне хранить POST в бд, если мне нужно всего к примеру мину на 5 всего данные!?
      Даже если в бд сохранить, как ты узнаешь по какому ключу искать данные? Тут по любому нужен как ты говоришь костыль.
        vectorserver
        20 февраля 2019, 10:05
        0
        Зачем к примеру интренет магазинах хранят твою корзину в сессии? Ответ а нахер им в бд твоя корзина! Её сохраняю только после того, как заказ оформили!
      Вадим
      20 февраля 2019, 11:30
      0
      Меня это вообще удивляет. Ведь если написать страницу на чистом пхп (без модх) и выполнить пост на нее, то массив $_POST будет всегда адекватным, сколько бы раз не обновлял эту страницу.

      А закидывать пост в сессию неудобно, поскольку тогда нужно следить за надобностью этой сессии.
        Вадим
        20 февраля 2019, 12:01
        0
        Тема закрыта. Я просто в сниппете ошибся. Всем спасибо!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6