![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
No i mam problem przy tworzeniu sklepu... :?
Prawie wszystko juz jest, jednak chcialem jeszcze dorzucic do niego sprawdzanie czy dany artykul ma odzielna jednostke i w zaleznosci od tego zastosowac odpowiednie środki... A wszystko przez to, ze nie chce by ktos kupil np. 1.23 monitora tylko 1, 2 lub inna liczbe calkowita monitorow... Mam zmienna $podzielna i od niej wszystko sie zaczyna. W adresie przekazuje zmienne $artykul i $ilosc do pliku, w ktorym jest taki oto kod php (reszta zmiennych pobierana jest z bazy - oszczedzilem Wam calego skryptu, bylo by to wtedy baaardzo nieczytelne): [php:1:7f835ee25f]<?php if ($podzielna==0) { ### gdy artykul NIE JEST podzielny :: poczatek ### if(!isset($_GET['submit'])) { ?> <FORM name="kup" method="GET"> <FONT>Artykuł: <B><? print $nazwa; ?> (<? print $indeks; ?>)</B><BR> Ilość: <input type='text' size='3' NAME='ilosc' value='<? print $ilosc; ?>'><B> <? print $jednostka; ?></B></FONT> <INPUT type="hidden" name="artykul" value="<? echo($indeks) ?>"> <INPUT type="hidden" name="podzielna" value="<? echo($podzielna) ?>"> <input type="submit" value=":: dodaj do koszyka ::" class="pyt_1"> </FORM> <? } if(isset($_GET['submit'])) { $ulamek = explode(".", $ilosc); if (isset($ulamek[1])) { $ilosc=$ulamek[0]; ?> <FORM name="kup" method="GET"> Artykuł: <B><? print $nazwa; ?> (<? print $indeks; ?>)</B><BR> Ilość: <input type='text' size='3' NAME='ilosc' value='<? print $ilosc; ?>'><B> <? print $jednostka; ?></B><BR> Ilosc musi byc liczba calkowita dla tego artykulu!</FONT> <INPUT type="hidden" name="artykul" value="<? echo($indeks) ?>"> <INPUT type="hidden" name="podzielna" value="<? echo($podzielna) ?>"> <input type="submit" value=":: dodaj do koszyka ::" class="pyt_1"> </FORM> <? } else { ?> <SCRIPT language="JavaScript"> window.open("inc/dodaj.php?artykul=<? echo($indeks) ?>&podzielna=<? echo($podzielna) ?>&ilosc=<? echo($ilosc) ?>", "_top"); </SCRIPT> <? } } } ### gdy artykul NIE JEST podzielny :: koniec ### if ($podzielna==1) { ### gdy artykul JEST podzielny :: poczatek ### $ilosc = round($ilosc, 1); if($ilosc==0) { $ilosc=0.1; } ?> <FORM name="kup" action="inc/dodaj.php" target="_top" method="GET"> <FONT>Artykuł: <B><? print $nazwa; ?> (<? print $indeks; ?>)</B><BR> Ilość: <input type='text' size='3' NAME='ilosc' value='<? print $ilosc; ?>'><B> <? print $jednostka; ?></B></FONT> <INPUT type="hidden" name="artykul" value="<? echo($indeks) ?>"> <INPUT type="hidden" name="podzielna" value="<? echo($podzielna) ?>"> <input type="submit" value=":: dodaj do koszyka ::" class="pyt_1"> </FORM> <? } ### gdy artykul JEST podzielny :: koniec ### ?>[/php:1:7f835ee25f] Pare slow wyjasnien: Wiec ogolny pomysl opiera sie na tym, ze gdy chce dodac jakis artykul do koszyka to po kliknieciu w artykul otwiera mi sie okienko z tym wlasnie kodem. I tu: gdy artykul ma podzielna jednostke to nie ma zadnego problemu - po kliknieciu :: dodaj do koszyka :: po prostu otwiera sie okienko z informacja, ze dany artykul zostal dodany do koszyka. Ale jak zrobic w przypadku, gdy artykul posiada niepodzielna jednostke? Probowalem w taki sposob, ze gdy sie pojawi to okienko to guziczek :: dodaj do koszyka :: - inaczej submit - nie zostal jeszcze wcisniety (wiersz 3) i wyswieli sie normalnie formularz z nazwa artykulu i iloscia do wprowadzenia. Gdy ta ilosc bedzie ulamkiem powinien pojawic sie drugi formularz (wiersz 14) z informacja, ze liosc musi byc liczba calkowita i dopiero, gdy poda sie liczbe calkowita wyswietla sie okienko informujace, ze artyklul zostal dodany do koszyka (wiersz 28 ). To tyle teorii... :wink: Praktyka jednak jest inna. Gdy to wszystko sprawdzam to rzeczywiscie, gdy jednostka jest podzielna wszystko gra. Jednak co do jednostki niepodzielnej caly czas wyswietla sie ten pierwszy formularz (wiersz 3)! I to nie wazne czy wpisze liczbe calkowita czy nie! Jestem przekonany, ze to ma cos wspolnego z [php:1:7f835ee25f]<?php !isset($_GET['submit']) ?>[/php:1:7f835ee25f] tylko niebardzo wiem co... Pewnie cos takiego wogole nie istnieje 8) i w tym pewnie problem... Tak wiec zwracam sie do Was wielka skarbnico wiedzy i prosze o pomoc... Coz mam uczynic, by TO zadzialalo?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Jak znam zycie problem pewnie blachy, ale... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:55 |