Задать вопрос
@alexmixaylov

Как изменить значение суперглобального массива POST?

Делаю форму и обработчик на одной страничке
<form action="" method="POST">
  <input type="text" class="form-control" id="fio">
  <input type="text" name="posted">
  <button type="submit" class="btn btn-default">Submit</button>
</form>
// и обработчик на этой же странице
// в самом начале делаю проверку, отправлена форма или страница просто загрузилась по ссылке
<?php
if ($_POST['posted']) {
$newFeedback->name = 'Some Name';
$this->save($newFeedback);

// и внимание :)
unset($_POST['posted']); // убираю из массива posted
}

но к сожалению так не работает
при перезагрузки в $_POST['posted'] остается старое значение
  • Вопрос задан
  • 633 просмотра
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
попробуйте не обновлять страницу через Ctrl R после отправки формы.
Форма каждый раз отправляется...

рукалицо
unset($_POST['posted']); // убираю из массива posted

здесь это вообще не причем, между запросами всегда сбрасывается и без вашей помощи.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
При перезагрузке после того, как отправили форму - снова и снова отправляется тот же самый POST-запрос, поэтому там будет эта переменная, нужно не удалять ее, а сделать редирект, можно делать назад на ту же самую страницу, в любом случае POST-запрос "провалится" в истории браузера и дальнейшее обновление вкладки не будет его повторять, а другого способа очистить историю браузера не существует, переменные PHP с ней напрямую не связаны поэтому их очищать нет смысла, учите матчасть по HTTP.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽