HuskyNET

PHP скрипт добавления из html формы имя исполнителя и название песни в базу данных, с проверкой отсутствие дублирующийся информации

83

Давайте создадим простую HTML-форму для ввода имени исполнителя и названия песни, а затем напишем PHP-скрипт для добавления этой информации в базу данных, проверяя на отсутствие дубликатов.

HTML-форма

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Добавление песни</title>
</head>
<body>
    <form action="add_song.php" method="post">
        <label for="artist">Имя исполнителя:</label>
        <input type="text" id="artist" name="artist" required><br>

        <label for="song">Название песни:</label>
        <input type="text" id="song" name="song" required><br>

        <input type="submit" value="Добавить песню">
    </form>
</body>
</html>

PHP-скрипт (add_song.php)

<?php
// Подключение к базе данных
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка соединения
if ($conn->connect_error) {
    die("Ошибка подключения: " . $conn->connect_error);
}

// Проверяем, была ли отправлена форма методом POST
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Получаем данные из формы
    $artist = $conn->real_escape_string($_POST['artist']);
    $song = $conn->real_escape_string($_POST['song']);

    // Проверка на дубликаты
    $sql = "SELECT * FROM songs WHERE artist='$artist' AND song='$song'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        echo "Такая запись уже существует.";
    } else {
        // Добавляем запись в базу данных
        $sql = "INSERT INTO songs (artist, song) VALUES ('$artist', '$song')";
        
        if ($conn->query($sql) === TRUE) {
            echo "Запись успешно добавлена.";
        } else {
            echo "Ошибка: " . $sql . "<br>" . $conn->error;
        }
    }
}

$conn->close();
?>

Объяснение:

Подготовка базы данных:

Прежде чем использовать этот скрипт, создайте таблицу songs в вашей базе данных:

CREATE TABLE songs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    artist VARCHAR(255) NOT NULL,
    song VARCHAR(255) NOT NULL
);

Убедитесь, что у вас есть необходимые права на доступ и изменение базы данных.