Почему при обновлении страницы сайта(отправка данных из формы) в таблицу mysql дублируются данные?

6
2

Почему при каждом обновлении таблицы базы данных, в таблицу дублировались этити данные? Три раза обновил три строки записалось. 

$query = "INSERT INTO movie VALUES(NULL, 'Безумный Макс', 'Описание фильма', '2015', now())";

$mysqli->query($query);

 


Павел Панишев

1 year ago

3 ответов





Потому-что это insert (вставить). Каждый раз обновляя страницу у вас будут вставлятся новые данные. Есть простое решение, чтобы POST запрос не отрабатывал после вставки в базу данных после обновления страницы:

Что-то вроде этого:

 if($mysqli->query($query)) { // Если выполнился query
   
      // Здесь редирект
     header("Location: " . $_SERVER['REQUEST_URI']);
     exit();
 }

 

Если вы про то, почему с insert у вас каждый раз вставляются данные, так и должно быть, если нужно обновлять данные, есть для этого update.

 

student_i7JJDSFg

1 year ago

Вообще это называется PRG, в википедии описана технология :)

Дмитрий Васюк

1 year ago

Спасибо!!!

Павел Панишев

1 year ago

Ваш ответ