При обновлении страницы идет добавление в базу данных

1

Здраствуйте. У меня проблема. Я сделал небольшую программку добавления имени и автора 

в таблицу 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>

 

 

php

2 ответов

3

Технология называется PRG, чтобы повторно не добавлялось в базу.

Вот здесь обсуждали уже: https://fructcode.com/ru/qa/pochemu-pri-kajdom-obnovlenii-tablisi/ 

3

Спасибо

 

Sign up or Log in to write an answer