Как исправить вносящиеся пробелы в базу данных?
0
Вопрос который я так и не смог решить. После того как мы внесли изменения в бузу данных, поля Name и Author , как бы очищаются, и если еще раз нажать добавить в БД внесутся пробелы, или если обновить страницу также в БД внесутся пробелы ( тут можно запретить пользователям обновлять страницу или нажимать кнопку "Назад" и повторно отправлять форму) - решение было частично найдено (в коде его не писал ). Но вот решение с повторной отправкой и внесением в БД пробелов я не нашел.
<?php
$mysqli = new mysqli('127.0.0.1', 'root', '', 'music');
if(mysqli_connect_errno()) {
printf("Соединение не установлено", mysqli_connect_error());
exit();
}
$mysqli->set_charset('utf8');
$query = $mysqli->query('SELECT * FROM player');
while ( $row =mysqli_fetch_assoc($query)) {
echo $row['name'].$row['author']."<br>";
}
$name = NULL;
$author = NULL;
if(isset($_POST['name']) && isset($_POST['author'])) {
$nameFilter = htmlspecialchars($_POST ['name'], ENT_QUOTES, 'UTF-8');
$authorFilter = htmlspecialchars($_POST ['author'], ENT_QUOTES, 'UTF-8');
$name = $nameFilter;
$author = $authorFilter;
$query = "INSERT INTO player VALUES(null, '$name', '$author')";
$mysqli->query($query);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<title>Document</title>
</head>
<body>
<div class="col-lg-6 col=lg-push-3 field">
<form action="http://kinomonster.com/player.php" method="POST" clas="form-group">
<legend>Исполнитель / Песни</legend>
<input type="text" name="name" placeholder="<?php echo $name;?>">
<input type="text" name="author" placeholder="<?php echo $author;?>">
<button type="submit" class="btn">Добавить</button>
</form>
<table class="table table-striped ">
<?php $querry = $mysqli->query('SELECT * FROM player'); ?>
<?php if($querry): ?>
<?php while ($row = mysqli_fetch_assoc($querry)): ?>
<tr>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['author']; ?></td>
</tr>
<?php endwhile; ?>
<?php endif; ?>
</table>
</div>
<?php
$mysqli->close();
?>
</body>
</html>
1 ответов
1
Вот тут есть решение, чтобы не дублировались данные в базе:
https://fructcode.com/ru/qa/pochemu-pri-kajdom-obnovlenii-tablisi/