NikMaster777
@NikMaster777

Как очистить $_POST после отправки?

Начал изучать PHP. Задача передавать из полей HTML формы данные в базу данных. Всё вроде правильно написал, данные в базу записываются, но если просто обновлять страницу то в базу добавляются последние введенные данные из формы. Хотя поля формы пустые. Подскажите как очищать поля в форме после отправки? Вот код:
<?php

	$mysqli = new mysqli('localhost', 'root', '', 'filmnet');

	if(mysqli_connect_errno()) {
		print_f("Ошибка соединения с базой", mysqli_connect_error());
		exit();
	}

	$mysqli->set_charset('utf8');

	$query = $mysqli->query('SELECT * FROM music');

	while ($row = mysqli_fetch_assoc($query)) {
		echo $row['name'] . " - " . $row['author'] . "<br>";

	}

	$query = "INSERT INTO music VALUES(null, '$_POST[name]', '$_POST[author]')";
	$mysqli->query($query);

	$mysqli->close();


?>


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<link rel="stylesheet" href="css/style.css">
</head>
<body>

<form action="" method="post">
	<input type="text" name="name" placeholder="Название песни">
	<input type="text" name="author" placeholder="Исполнитель">
	<input type="submit" value="ДОБАВИТЬ">

</form>
    
    
	
</body>
</html>
  • Вопрос задан
  • 1423 просмотра
Решения вопроса 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
В экшон формы добавляем гет параметр, action="?add"
Добавляем сабмиту имя
name="submit"
Далее проверяем
if (isset($_GET['add']) && isset($_POST['submit'])) {
//тут запрос проверки и прочее для добавления
header("Location: /"); exit;
}
Тут вывод и форма


Так же почитать за подготовленные запросы и фильтрацию от xss
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы