Почему при обновлении страницы сайта(отправка данных из формы) в таблицу mysql дублируются данные?
6
Почему при каждом обновлении таблицы базы данных, в таблицу дублировались этити данные? Три раза обновил три строки записалось.
$query = "INSERT INTO movie VALUES(NULL, 'Безумный Макс', 'Описание фильма', '2015', now())";
$mysqli->query($query);
3 ответов
8
Потому-что это insert (вставить). Каждый раз обновляя страницу у вас будут вставлятся новые данные. Есть простое решение, чтобы POST запрос не отрабатывал после вставки в базу данных после обновления страницы:
Что-то вроде этого:
if($mysqli->query($query)) { // Если выполнился query
// Здесь редирект
header("Location: " . $_SERVER['REQUEST_URI']);
exit();
}
Если вы про то, почему с insert у вас каждый раз вставляются данные, так и должно быть, если нужно обновлять данные, есть для этого update.
3
Вообще это называется PRG, в википедии описана технология :)
2
Спасибо!!!