При обновлении страницы идет добавление в базу данных
Здраствуйте. У меня проблема. Я сделал небольшую программку добавления имени и автора
в таблицу music.
если внести какие то данные и сохранить, то при обновлении веб страницы выдает следущее
"На странице, которую вы ищете, использовалась введенная вами информация. При возврате на эту страницу может потребоваться повторить выполненные ранее действия. Продолжить?"
и ДОБАВЛЯЕТ ЕЩЕ СТРОКУ в таблицу. Что сделать чтобы этого не произошло?
Код программы:
<?php
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
if (!isset($mysqli)) {
exit();
}
if(mysqli_connect_errno()) {
'Соединение не установлено '.mysqli_connect_error();
}
$mysqli->set_charset('utf8');
//$mysqli->query("INSERT INTO music VALUES(null, 'Весна','Пушкин', Now())");
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="name" placeholder="название песни">
<input type="text" name="author" placeholder="автор песни">
<input type="hidden" name="id" value = "null">
<input type="submit" value="сохранить">
</form>
<?php
if(isset($_POST['name'])){
if (!empty(trim($_POST['name']))){
$query = "INSERT INTO music VALUES('".$_POST['id']."', '".$_POST['name']."', '".$_POST['author']."', Now())";
$mysqli->query($query);
$_POST['name']="";
}
}
$query = $mysqli->query('SELECT * FROM music');
while($row=mysqli_fetch_assoc($query)) {
echo $row['name'].' '.$row['author']."<br>";
}
unset($_POST);
$mysqli->close();
?>
</body>
</html>
2 ответов
Технология называется PRG, чтобы повторно не добавлялось в базу.
Вот здесь обсуждали уже: https://fructcode.com/ru/qa/pochemu-pri-kajdom-obnovlenii-tablisi/
Спасибо