Witam, około dwóch tygodni temu rozpocząłem naukę HTML i PHP, tak więc jestem jeszcze bardzo początkujący, a najczęstszy problem jaki napotykam to źle skonstruowany formularz. Od razu mówię że szukałem już troszkę na google i raczej mi tam nic nie pomogło :/ Tak więc mam taki kod w pliku "sklep.html":
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <h3>Witamy w naszym internetowym sklepie!
<br /> Proszę złożyć zamówienie i potwierdzić zakup.
<br /><br /></h3><form method="post" action="zamowienie.php"> <table border="0" rules="none"> <td bgcolor="grey" width="70">Produkt
</td> <td bgcolor="grey" width="70">Ilość
</td> <td align="center" valign="middle">Jabłko
</td> <td align="center" valign="middle"><input type="text" name="jablko" size="1" /></td> <td align="center" valign="middle">Kiwi
</td> <td align="center" valign="middle"><input type="text" name="kiwi" size="1" /></td> <td align="center" valign="middle">Gruszka
</td> <td align="center" valign="middle"><input type="text" name="gruszka" size="1" /></td> <td align="center" valign="middle" colspan="2"> <input type="submit" value="Zamów" /></td>
I taki kod w pliku "zamowienie.php":
<?php
$ile_jablko = $_POST['jablko'];
$ile_kiwi = $_POST['kiwi'];
$ile_gruszka = $_POST['gruszka'];
$towar = $ile_jablko + $ile_kiwi + $ile_gruszka;
$cena_jablko_netto = $ile_jablko * jablko;
$cena_kiwi_netto = $ile_kiwi * kiwi;
$cena_gruszka_netto = $ile_gruszka * gruszka;
$cena_netto = $cena_jablko_netto + $cena_kiwi_netto + $cena_gruszka_netto;
$cena_jablko_brutto = $cena_jablko_netto + $cena_jablko_netto * P_VAT;
$cena_kiwi_brutto = $cena_kiwi_netto + $cena_kiwi_netto * P_VAT;
$cena_gruszka_brutto = $cena_gruszka_netto + $cena_gruszka_netto * P_VAT;
$cena_brutto = $cena_jablko_brutto + $cena_kiwi_brutto + $cena_gruszka_brutto;
$sklep = fopen("sklep.txt", "a");
$zamowienie = "Zamówione towary:
$ile_jablko jabłek
$ile_kiwi kiwi
$ile_gruszka gruszek
Suma zamówionych towarów: <u>$towar</u>
Za jabłka: $cena_jablko_netto zł
Za kiwi: $cena_kiwi_netto zł
Za gruszki: $cena_gruszka_netto zł
Cena zamówionych towarów netto: <b>$cena_netto zł</b>
Cena zamówionych towarów brutto: <b>$cena_brutto zł</b>
";
echo "Zamówione towary:<br /> $ile_jablko jabłek<br />
$ile_kiwi kiwi<br />
$ile_gruszka gruszek<br />
Suma zamówionych towarów: <u>$towar</u><br />
Za jabłka: $cena_jablko_netto zł<br />
Za kiwi: $cena_kiwi_netto zł<br />
Za gruszki: $cena_gruszka_netto zł<br />
Cena zamówionych towarów netto: <b>$cena_netto zł</b><br />
Cena zamówionych towarów brutto: <b>$cena_brutto zł</b><br />";
echo "Zamówienie zostało dodane do pliku!"; }
else
{
echo "Zamówienie zostało źle złożone!"; echo "Zamówienie nie zostało zapisane!"; }
?>
<form action="lista.php" method="post" />
<input type="submit" value="Zobacz wszystkie zamówienia" />
</body>
Niestety, nie wiem czemu, ale dane wpisane do formularzy są źle przypisywane do zmiennych w "zamowienie.php", ponieważ kiedy chciałem sprawdzić jaką wartość przyjmują (usunąłem w if'ie warunek o tym, że zmienne muszą być liczbami) wszędzie wyświetliło się 0. Nie wiem jaki błąd popełniam, ponieważ zgodnie z instrukcjami jakimi kierowałem się z kursów html'a i php to jest prawidłowy(?) zapis. Proszę o poprawę kodu i wytłumaczenie co źle robię. Z góry dziękuję.