Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]dziwny problem z IF-em
-mani-
post 17.11.2008, 14:40:43
Post #1





Goście







Witam

Mam dość dziwny problem-zagadkę, otóż chciałbym aby po zaznaczeniu kolorowego produktu, na cenę końcową był nakładany rabat 25%, zrobiłem to w ten sposób

  1. <?php
  2. if (!empty($p1czerwony) && !empty($p1fiolet) && !empty($p1niebieski) && !empty($p1zolty) && !empty($p3fiolet) && !empty($p3niebieski) && !empty($p3zielony))
  3. {
  4. $rabat=$cenagl * 0.25;
  5. $cenagl=$cenagl - $rabat;
  6. }
  7. ?>


Za cholerę nie chce działać, dałem zamiast !empty - isset, również nie działa. Po usunięciu tego warunku IF pozostawieniu rabatu - działa bez problemu...

Dla mnie to zagadka zwłaszcza, że linie wyżej znajduje się warunek IF sprawdzający czy jakikolwiek produkt został wybrany i działa!

  1. <?php
  2. if(empty($p1) && empty($p2) && empty($p3) && empty($p1czerwony) && empty($p1fiolet) && empty($p1niebieski) && empty($p1zolty) && empty($p3fiolet) && empty($p3niebieski) && empty($p3zielony)) {
  3. echo'<br> Zamówienie puste...';
  4. }
  5.  
  6. Błagam o pomoc bo już białej gorączki dostaje przez to...
  7. ?>
Go to the top of the page
+Quote Post
nospor
post 17.11.2008, 14:43:50
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




raz masz: empty($p1zolty)
a raz: !empty($p1zolty)

Juz na tym poziomie te dwa warunki są inne wiec nic dziwnego ze raz dziala a raz nie....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-mani-
post 17.11.2008, 14:46:28
Post #3





Goście







To jak to rozwiązać? Na górze warunek IF sprawdzający czy coś zostało wybrane zmienić na !isset? nie do końca to rozumiem, przecież to są dwa oddzielne warunki...
Go to the top of the page
+Quote Post
nospor
post 17.11.2008, 14:58:32
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




blinksmiley.gif
Napisales:
Cytat
że linie wyżej znajduje się warunek IF sprawdzający czy jakikolwiek produkt został wybrany i działa!

skoro wiec dla ciebie warunek empty($p1zolty) jest warunkiem dzialającym, to daj go do warunku rabatu zamiast !empty($p1zolty)

To chyba ty powinienes wiedziec jakie dla ciebie warunki muszą byc spelnione by sie cos wykonalo a nie my.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-mani-
post 17.11.2008, 15:06:24
Post #5





Goście







Eh myślałem ,że trafiłem na forum w którym można liczyć na pomoc osób dużo lepiej znających PHP,a nie czytać o wywodach, które kompletnie w niczym mi nie pomagają... no cóż...

Cytat
To chyba ty powinienes wiedziec jakie dla ciebie warunki muszą byc spelnione by sie cos wykonalo a nie my


Gdybym nie miał problemu i znał rozwiązanie to bym nie pisał...
Go to the top of the page
+Quote Post
nospor
post 17.11.2008, 15:12:38
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w tym warunku:
if (!empty($p1czerwony) && !empty($p1fiolet) && !empty($p1niebieski) && !empty($p1zolty) && !empty($p3fiolet) && !empty($p3niebieski) && !empty($p3zielony))

pozmieniaj && na ||

Z drugiego twojego ifa powiedzmy ze wnioskuje iz oto wlasnie chodzi

drugi if sprawdza czy wszystkie wartosci są puste. skoro drugi ma byc "rownowazny" pierwszemu to wpierszym ma byc LUB a nie I


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartg
post 17.11.2008, 16:45:52
Post #7





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Ja dodam, że:
  1. <?php
  2. $rabat=$cenagl * 0.25;
  3. $cenagl=$cenagl - $rabat;
  4. ?>

Można zamienić na:
  1. <?php
  2. $cenagl=$cenagl *1.25;
  3. ?>


--------------------
Go to the top of the page
+Quote Post
megawebmaster
post 17.11.2008, 20:33:17
Post #8





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

Ostrzeżenie: (0%)
-----


bartg - tutaj się mylisz 1 - 0,25 =/= 1,25 tongue.gif
Go to the top of the page
+Quote Post
-mani-
post 18.11.2008, 11:04:20
Post #9





Goście







dziękuję działa
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 13:52