Ćwiczenie 4 – Dodawanie produktów do bazy

Opis zadania

Stwórz formularz, który pozwala użytkownikowi dodać nowy produkt do bazy danych.

Kroki do wykonania ćwiczenia:

  1. Utwórz tabelę w bazie danych sklep o nazwie produkty:
  2. CREATE TABLE IF NOT EXISTS produkty (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nazwa VARCHAR(100) NOT NULL,
        cena DECIMAL(10,2) NOT NULL,
        ilosc INT NOT NULL
    );
  3. Utwórz formularz HTML w pliku PHP:
  4. <form method="post" action="">
        <label for="nazwa">Nazwa produktu:</label>
        <input type="text" id="nazwa" name="nazwa" required>
    
        <label for="cena">Cena (PLN):</label>
        <input type="number" id="cena" name="cena" step="0.01" required>
    
        <label for="ilosc">Ilość:</label>
        <input type="number" id="ilosc" name="ilosc" required>
    
        <button type="submit" name="dodaj">Dodaj produkt</button>
    </form>
  5. Dodaj obsługę formularza w PHP:
  6. <?php
    if (isset($_POST['dodaj'])) {
        $nazwa = trim($_POST['nazwa']);
        $cena = floatval($_POST['cena']);
        $ilosc = intval($_POST['ilosc']);
    
        if ($nazwa && $cena > 0 && $ilosc >= 0) {
            $conn = new mysqli("localhost", "root", "", "sklep");
            if ($conn->connect_error) {
                die("Błąd połączenia z bazą: " . $conn->connect_error);
            }
    
            $stmt = $conn->prepare("INSERT INTO produkty (nazwa, cena, ilosc) VALUES (?, ?, ?)");
            $stmt->bind_param("sdi", $nazwa, $cena, $ilosc);
    
            if ($stmt->execute()) {
                echo "<p style='color:green; text-align:center;'>Produkt został dodany!</p>";
            } else {
                echo "<p style='color:red; text-align:center;'>Błąd dodawania produktu: " . $stmt->error . "</p>";
            }
    
            $stmt->close();
            $conn->close();
        } else {
            echo "<p style='color:red; text-align:center;'>Niepoprawne dane!</p>";
        }
    }
    ?>
  7. Sprawdź dodany produkt w tabeli produktów (np. używając Zadania 4).

Efekt końcowy: Uczeń będzie mógł dodać nowy produkt do bazy danych przez formularz i zobaczyć komunikat o powodzeniu lub błędzie.