Как выполнить задание player и почему отображаются ошибки?

0

Обзор домашнего задания №57 и почему отображаются ошибки?

Добрый вечер! Сделал домашнее задание, на одной странице вывел 3 формы 1 - добавляет данные в БД, 2 - редактирует, 3 - удаляет. Возникла проблема, постоянно выводит: Notice: Undefined index: insertName in /opt/lampp/htdocs/kinomonster/player.php on line 12 и тому подобные, если добавить в бд что нибудь то ошибка пропадает. пробовал проверять по isset, !isset, empty. В чем может быть проблема?

Ну и можно каких нибудь подзатыльников надавать что бы подправить свои ошибки? (в рамках того что проходили за курс) ну и советы на будущее?

сам код:

<?php

	$mysql = new mysqli('localhost', 'root', '', 'kinomonster');

	if (mysqli_errno($mysql)) {
		printf("Соеденение не установлено", mysqli_errno());
		exit();
	}

	$mysql->set_charset('utf8');

	$insertName = $_POST['insertName'];
	$insertAuthor = $_POST['insertAuthor'];
	if (empty($insertName)) {
		echo "Название песни обязательно!";
	} else if (empty($insertAuthor)) {
		echo "Название автора песни обязательно!";
	} else {
		$insertQuery = "INSERT INTO music VALUES(null, '".$insertName."', '".$insertAuthor."')";
		$mysql->query($insertQuery);
	}

	$updateId     = $_POST['updateId'];
	$updateName   = $_POST['updateName'];
	$updateAuthor = $_POST['updateAuthor'];
	if ($updateId == "---НИЧЕГО НЕ ВЫБРАННО---") {
		echo "Выберите песню из списка!";
	} else if (empty($updateName)) {
		echo "Напишите новое название песни!";
	} else {
		$insertQuery = "UPDATE music SET name = '".$updateName."' WHERE id = '".$updateId."'";
		$mysql->query($insertQuery);
	}
	if ($updateId == "---НИЧЕГО НЕ ВЫБРАННО---") {
		echo "Выберите песню из списка!";
	} else if (empty($updateAuthor)) {
		echo "Напишите новое название атора!";
	} else {
		$insertQuery = "UPDATE music SET author = '".$updateAuthor."' WHERE id = '".$updateId."'";
		$mysql->query($insertQuery);
	}

	$deleteId = $_POST['deleteId'];
	$deleteQuery = "DELETE FROM music WHERE id = ".$deleteId."";
	$mysql->query($deleteQuery);


?>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Домашнее задание</title>
</head>
<body>
	<p>
	<form action="" method="post">
		<input type="text" name="insertName" placeholder="Название песни" value="">
		<input type="text" name="insertAuthor" placeholder="Автор песни" value="">
		<input type="submit">
	</form>
	</p>
	<p>
	<form action="" method="post">
		<select name="updateId">
			<option value="---НИЧЕГО НЕ ВЫБРАННО---">---НИЧЕГО НЕ ВЫБРАННО---</option>
			<?php
				$listOfSongsQuery = $mysql->query("SELECT * FROM music");
				while ($listOfSongs = mysqli_fetch_assoc($listOfSongsQuery)) {
					echo '<option value="'.$listOfSongs['id'].'">'.$listOfSongs['author'].' - '.$listOfSongs['name'].'</option>';
				}
			?>
		</select>
		<input type="text" name="updateName" placeholder="Название песни" value="">
		<input type="text" name="updateAuthor" placeholder="Автор песни" value="">
		<input type="submit">
	</form>
	</p>
	<p>
		<form action="" method="post">
		<table>
			<?php 
				$listOfSongsQuery = $mysql->query("SELECT * FROM music");
				while ($listOfSongsToDelete = mysqli_fetch_assoc($listOfSongsQuery)) {
					echo '<tr><td>'.$listOfSongsToDelete['author'].' - '.$listOfSongsToDelete['name'].'</td><td><button type="submit" name="deleteId" value="'.$listOfSongsToDelete['id'].'">x</button></td>';
				}


			?>
		</table>
		</form>
	</p>
</body>
</html>
<?php $mysql->close(); ?>
php

1 ответов

1

Первый ответ пример кода Player:

https://fructcode.com/ru/qa/php-mysql-domasnee-zadanie-57-uroka-tgukud/

Sign up or Log in to write an answer