Polecenie
Administrator sklepu chce mieć możliwość dodawania nowych produktów do bazy danych. Utwórz plik dodaj.php, który zawiera formularz do wprowadzania danych produktu (nazwa, cena, ilość) oraz zapisuje dane do bazy MySQL.
Kod do przepisania
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Dodawanie produktu</title>
</head>
<body>
<h2>Dodaj nowy produkt</h2>
<form method="post" action="">
Nazwa produktu: <br>
<input type="text" name="nazwa"><br><br>
Cena (PLN): <br>
<input type="number" step="0.01" name="cena"><br><br>
Ilość: <br>
<input type="number" name="ilosc"><br><br>
<input type="submit" value="Dodaj produkt">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nazwa = trim($_POST["nazwa"]);
$cena = floatval($_POST["cena"]);
$ilosc = intval($_POST["ilosc"]);
if (!empty($nazwa) && $cena > 0 && $ilosc >= 0) {
// Połączenie z bazą danych
$conn = new mysqli("localhost", "root", "", "sklep");
if ($conn->connect_error) {
die("Błąd połączenia z bazą: " . $conn->connect_error);
}
$sql = "INSERT INTO produkty (nazwa, cena, ilosc) VALUES ('$nazwa', $cena, $ilosc)";
if ($conn->query($sql) === TRUE) {
echo "<h3>Produkt został dodany!</h3>";
} else {
echo "Błąd: " . $conn->error;
}
$conn->close();
} else {
echo "<p style='color:red;'>Wypełnij poprawnie wszystkie pola.</p>";
}
}
?>
</body>
</html>
Efekt końcowy
Po wpisaniu danych i kliknięciu Dodaj produkt, produkt zostanie zapisany w tabeli
produkty bazy sklep. Jeśli wszystko się powiedzie, pojawi się komunikat
Produkt został dodany!
Przykładowa struktura tabeli (SQL)
CREATE DATABASE sklep;
USE sklep;
CREATE TABLE produkty (
id INT AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(100) NOT NULL,
cena DECIMAL(10,2) NOT NULL,
ilosc INT NOT NULL
);