Zadanie: Budka z lodami

Wstęp

Poznany w zeszłym tygodniu skrypt do sprzedaży lodów pozwala jedynie na zakup od 1 do 3 kulek w jednym określonym smaku. Usprawnij jego działanie tak, aby:
  • można było kupować kulki w różnych smakach
  • smaki kulek mogły się powtarzać
  • całkowita liczba kulek nie powinna przekraczać 12
Uwaga: Skrypt powinien umieć obsługować równolegle wielu klientów.

Propozycja rozwiązania

Pozwól na wielokrotne wywoływanie formularza do zakupu pewnej liczby kulek w jednym określonym smaku. Na dole strony z formularzem powinny wyświetlać się informacje o już zamówionych kulkach. Klient powinien mieć możliwość zamawiania dodatkowych kulek, zrezygnowania z zamówienia oraz przejścia do kasy. Po wyczerpaniu liczby możliwych do umieszczenia w wafelku kulek przejście do kasy powinno odbywać się automatycznie. Klient nie powinien mieć możliwości przekroczenia maksymalnej liczby kulek.

Wskazówki

  • Założmy, że klient ma do wyboru trzy przyciski:
    1. Dalej
    2. Anuluj
    3. Płać
    możesz łatwo wykryć, który z nich został wciśnięty, jeśli nadasz im nie tylko wartość (to co jest drukowane na przycisku), ale i nazwę (przez którą możesz odwołać się do wszystkich trzech przycisków). Na przykład po wciśnięciu przycisku zdefiniowanego przez kod:
    submit (-NAME => "przycisk", -VALUE => "Dalej")
    wywołanie funkcji
    param ("przycisk")
    zwróci wartość
    p"Dalej"
    .
  • Informacje o zamówionych już kulkach możesz przechowywać w pliku tak, jak w programie guestbook.
  • Użycie cookies pozwoli Ci sprawdzić, czy nowy użytkownik rozpoczyna nową sesję, czy też stary kontynuuje zakupy.
  • Dane każdego użytkownika mogą być przechowywane w osobnym pliku o losowo wygenerowanej nazwie.