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?
Jak znam zycie problem pewnie blachy, ale...