проблема с повторной отправкой данных формы - PullRequest
2 голосов
/ 24 октября 2009

Я новичок, пытающийся разработать панель входа в систему. Проблема в том, что

Я не могу остановить повторную отправку данных формы при нажатии кнопки браузера «назад» и «вперед». Пытался найти его в Google, но не нашел эффективного решения.

Пожалуйста, просветите меня в этом.

1 Ответ

3 голосов
/ 24 октября 2009

Возможно, вы хотите реализовать метод Post-Redirect-Get .

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

Диаграмма ниже показывает поток PRG:

альтернативный текст http://upload.wikimedia.org/wikipedia/en/3/3c/PostRedirectGet_DoubleSubmitSolution.png

Для этого на странице для публикации вместо отображения результатов вы перенаправляете пользователя на другую страницу результатов.

, например

function redirect($url){
  header('Location: '.$url);
  exit;
}

if(isset($_POST['submit'])){
  $ok = checkLogin($username,$password);
  if($ok){
    redirect('thank-you.php');
  }else{
    redirect('login.php?error');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...