Formularz zamówień produktów
Aplikacja webowa z listą produktów (z cenami), formularzem wyboru ilości i obliczaniem całkowitej sumy zamówienia. Zamówienia są zapisywane do pliku JSON.
This content is not available in your language yet.
Formularz zamówień produktów
Aplikacja webowa z listą produktów (z cenami), formularzem wyboru ilości i obliczaniem całkowitej sumy zamówienia. Zamówienia są zapisywane do pliku JSON.
Formularze zamówień to podstawa każdego sklepu internetowego. Umiejętność obsługi wielopozycyjnego formularza z walidacją i obliczeniami jest niezbędna w e-commerce.
sum(cena * ilość) dla wszystkich pozycji{ "products": [ {"id": 1, "name": "Zeszyt A5", "price": 3.99}, {"id": 2, "name": "Długopis niebieski", "price": 1.50}, {"id": 3, "name": "Linijka 30cm", "price": 2.99} ], "orders": [ { "id": 1, "items": [ {"product_id": 1, "name": "Zeszyt A5", "qty": 3, "price": 3.99, "subtotal": 11.97} ], "total": 11.97, "created_at": "2026-02-10 14:30:00" } ]}<?php$products = [ ['id' => 1, 'name' => 'Zeszyt A5', 'price' => 3.99], ['id' => 2, 'name' => 'Długopis', 'price' => 1.50], ['id' => 3, 'name' => 'Linijka', 'price' => 2.99],];
$total = 0.0;$items = [];
foreach ($products as $product) { $qty = filter_var($_POST["qty_{$product['id']}"] ?? 0, FILTER_VALIDATE_INT, [ 'options' => ['min_range' => 0, 'max_range' => 999] ]);
if ($qty === false) { $errors[] = "Nieprawidłowa ilość dla: " . htmlspecialchars($product['name']); continue; }
if ($qty > 0) { $subtotal = round($product['price'] * $qty, 2); $total += $subtotal; $items[] = [ 'product_id' => $product['id'], 'name' => $product['name'], 'qty' => $qty, 'price' => $product['price'], 'subtotal' => $subtotal, ]; }}
$total = round($total, 2);Mały sklep w PHP
To klasyczne ćwiczenie dla każdego programisty webowego. Zacznij od wyświetlenia listy produktów, potem dodaj formularz, na końcu obsługę POST.