Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz zamówienia i podsumowanie
Forum PHP.pl > Forum > Przedszkole
sannjas
Witam!

Mam taki przypadek:

Mam stronę gdzie można zamówić u mnie pewne produkty - jest ich obecnie 17 więc nie dużo.
Jako formularz zamówienia stworzyłem typowy form2mail z polami gdzie przy nazwie produktu podaje się ilość. Każde pole jest dobrze oznaczone.
Chciałbym aby do klienta zamawiającego został wysłany e-mail z informacją co zamówił.
I tak głowie się od paru dni, że skoro mam ilości w opisanych polach to łatwo będzie mi wyszczególnić w mailu do niego co zamówił bez wypisywania wszystkich produktów w tej wiadomości.

Chodzi o to, że nie bardzo wiem, jak zrobić to, żeby właśnie tylko te produkty w których polu ilości jest coś innego niż 0 bądź puste pole albo jakaś litera - pojawiły się w treści.

Może trochę zakręciłem ale mam nadzieję, że rozumiecie.

I tak dla przykładu chciałem to zrobić tak:
jeśli w polu ilości produktu x będzie wartość inna niż 0 bądź inna niż puste pole to wypisz "produkt x - wartość_pola sztuk"
następnie
jeśli w polu ilości produktu y będzie wartość inna niż 0 bądź inna niż puste pole to wypisz "produkt x - wartość_pola sztuk"

i tak 16 razy... Jak to napisać?

Dodam jeszcze ze chciałbym aby form akceptował tylko cyfry w tych polach.
Jak to zrobić? Czego użyć? Jak widać jestem begiiner w temacie smile.gif
Piotrwusek
Witam

A co będzie jeśli będziesz miał 20 przedmiotów questionmark.gif


- Będziesz musiał ręcznie dopisywać

Moja rada widzę że masz sklep ale nie lepiej będzie ci go zrobić na jakieś platformie? np. osCommerce
sannjas
Witam! Nie nie będę miał 20 produktów smile.gif To co jest jest ostateczne. Taka charakterystyka tego biznesu. smile.gif

Wpadłem na pomysł, żeby zrobić to mniej więcej tak:

z formularza pobiorę wartość zmiennych:
$iloscx - ilosc produktu X
$iloscy - ilosc produktu Y
$iloscz - ilosc produktu Z

Będę miał wcześniej ustalone zmienne z ceną produktów:
CODE

$cenax = 10;
$cenay = 5;
$cenaz = 2;


I może coś takiego będzie dobre...?

CODE

if (!empty($iloscx))
{ print ("Produkt pierwszy " . $iloscx . " sztuk w cenie " . $cenax . " za sztukę."); }

if (!empty($iloscy))
{ print ("Produkt drugi " . $iloscy . " sztuk w cenie " . $cenay . " za sztukę."); }

if (!empty($iloscz))
{ print ("Produkt trzeci " . $iloscz . " sztuk w cenie " . $cenaz . " za sztukę."); }

else
{ header("Location: blad_w_formularzu.php");}

// jeśli nie wybrano żadnych produktów to przekierowanie do strony z informacją, że jest błąd.

$wartosc_calego_zamowienia = $iloscx*$cenax+$iloscy*$cenay+$iloscz*$cenaz

// no i mail() itd... z koksem


Zastanawiam się tylko jak zabezpieczyć formularz przed wpisaniem liter do pól ilości produktów oraz jak zrobić, żeby w momencie kiedy użytkownik wpisuje literę to wyskakiwał monit o błędzie i żeby ta litera się automatycznie usuwała - albo coś takiego... może być po przełądowaniu strony... mniejsza - w kazdym razie zeby zabezpieczało smile.gif

I sprawa druga:

Sprawą jasną, jest że chce aby klient otrzymał wiadomość z potwierdzeniem itd. Więc przy ustalaniu wartości zmiennej $wiadomość mogę zastosować powyższy kod w środku ustalania wartości zmiennej $wiadomosc questionmark.gif

Chodzi mi o to, czy mogę zatem zrobić tak:

CODE

$potwierdzenie = "Witamy!

Dziękujemy za złożenie zamówienia idp itd
________________________________________
Podsumowanie zamówienia:
Produkty:

if (!empty($iloscx))
{ print ("Produkt pierwszy " . $iloscx . " sztuk w cenie " . $cenax . " za sztukę.\n"); }

if (!empty($iloscy))
{ print ("Produkt drugi " . $iloscy . " sztuk w cenie " . $cenay . " za sztukę.\n"); }

if (!empty($iloscz))
{ print ("Produkt trzeci " . $iloscz . " sztuk w cenie " . $cenaz . " za sztukę.\n"); }

else
{ header("Location: blad_w_formularzu.php");}

// jeśli nie wybrano żadnych produktów to przekierowanie do strony z informacją, że jest błąd.

$wartosc_calego_zamowienia = $iloscx*$cenax+$iloscy*$cenay+$iloscz*$cenaz

print ("Wartość zamówienia" . $wartosc_calego_zamowienia);
// i dalej reszta potwierdzenia


Czy może jest jakiś łatwiejszy sposób na to?

Proszę o radę.

Pozdrawiam!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.