Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]warunek IF
inny02
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


Witam,

mam taki warunek

Kod
if ($status == 0)
        {
            $stop .= $lang['error'];
        }



zmienna $status zwraca 0 albo 1 gdy zwróci 0 to wyświetla się komunikat (to co zawarte w $lang['error']), ale jak zwróci 1 to też wyświetla się komunikat, a nie powinien bo jest tylko dla 0

Jeśli warunek zrobię tak


Kod
    if ($status > 0)
        {
            $stop .= $lang['error'];
        }



Gdy $status zwraca 1 wyświetla się komunikat - jest to logiczne, a jak 0 to nie ma komunikatu i wszytko przebiega dobrze - o to chodzi, ale na odwrót nie dla 0 ma przechodzić dalej ba 1.
Chcę, aby komunikat został tylko i wyłącznie wtedy wywołany, gdy $status zwraca 0, ale mam z tym duży problem.


Dziękuje i pozdrawiam

Ten post edytował inny02 9.07.2010, 13:31:05
Go to the top of the page
+Quote Post
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


nie wiem czy do końca zrozumiałem, ale może chodzi CI o to:
  1. if ($status == 1)
  2. {
  3. $stop .= $lang['error'];
  4. }
  5. else
  6. {
  7. $stop = '';
  8. }
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


  1. if ($status == 0){
  2. $stop = $lang['error'];
  3. }else {/* tutaj coś jak będzie inne od 0*/}


Ten post edytował !*! 9.07.2010, 13:38:20


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
H4eX
post
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 1.07.2010

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


Pierw sprawdź czy na pewno zwraca Ci 1.

  1. echo $status;
  2. if ($status == "0")
  3. {
  4. $stop .= $lang['error'];
  5. }
Go to the top of the page
+Quote Post
inny02
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


tak sprawdzałem na pewno zwraca 1, ale warunki nie działają
Go to the top of the page
+Quote Post
H4eX
post
Post #6





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 1.07.2010

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


a skasuj ten warunek
  1. if ($status == "0")
  2. {
  3. $stop .= $lang['error'];
  4. }


i niech status będzie równy 1.
Sądzę, że to nie jest wina tego warunku.
Go to the top of the page
+Quote Post
inny02
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


przechodzi dalej bo nie ma warunku, status równy 1
Go to the top of the page
+Quote Post
tehaha
post
Post #8





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


pokaż cały kod i napisz co chcesz osiągnąć bo tak to tylko w zgadywanki można się bawić
Go to the top of the page
+Quote Post
inny02
post
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


więc sprawdzanie kodów po stronie dotpay kod http://wklej.org/hash/677ffdbc543/
musi to działać, ale jednak coś chyba z tym warunkiem jest nie tak
jak w formularzu wpiszę się poprawny kod to zwraca dotpay 1, jeśli nie to zwraca 0
Go to the top of the page
+Quote Post
cojack
post
Post #10





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Ludzie, oduczcie się przyrównywać w IF elementów do 0 lub 1. Jeżeli zmienna posiada 0 to jest false, jeżeli posiada 1 to jest true, jeżeli zmienna jest typu boolean to się jej nie przyrównuje do FALSE lub TRUE, z takim kodem to się nie macie co pokazywać u pracodawcy, na miejscu odpadacie.


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
inny02
post
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


kod sprawdza ściągnięty z dotpay
Go to the top of the page
+Quote Post
!*!
post
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


cojack to jakbyś to zrobił?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
widmo_91
post
Post #13





Grupa: Zarejestrowani
Postów: 109
Pomógł: 25
Dołączył: 10.08.2009

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


  1. if (!$status)
  2. {
  3. $stop .= $lang['error'];
  4. }
Go to the top of the page
+Quote Post
inny02
post
Post #14





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


Cytat(widmo_91 @ 9.07.2010, 15:36:13 ) *
  1. if (!$status)
  2. {
  3. $stop .= $lang['error'];
  4. }


to nic nie sprawdza
Go to the top of the page
+Quote Post
!*!
post
Post #15





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


a dlaczego przed znakiem równości jest ktopka?

Kod
.=


To ma jakieś znaczenie?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
chemikpil
post
Post #16





Grupa: Zarejestrowani
Postów: 34
Pomógł: 7
Dołączył: 3.07.2010

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


Cytat(inny02 @ 9.07.2010, 16:08:59 ) *
to nic nie sprawdza

Jeżeli zmienna ma wartość false to wtedy if zwróci false. Dlatego była tu mowa o zmiennych boolean.
Przydatne w przypadku zmiennych z np uchwytem do pliku lub zapytaniach do bazy. Jeżeli coś pujdzie nie tak i takie otwarcie nie zadziała, to zmienna zamiast przechowywać uchwyt, przechowa false.
Nie sprawdza się takich rzeczy na zasadzie 0,1 jeżeli ktoś mądry wymyślił false i true.
Kropka przed znakiem równa się to konkatenacja jak podejrzewać, tyle że skrócona.
Coś na wzór
  1. $zmienna = $zmienna.$zmienna2

Tym samym wszystkie błędy są zapisane w jednej zmiennej i wyświetlane na końcu.
Pozdro.

Ten post edytował chemikpil 9.07.2010, 15:36:58
Go to the top of the page
+Quote Post
inny02
post
Post #17





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


w innych miejscach skryptu też jest tak zrobione $stop .= $lang['reg_err_21']; gdzie są te komunikaty.
kolega wyżej pisał
Go to the top of the page
+Quote Post
muk4
post
Post #18





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


przed warunkiem daj
  1. var_dump($status);

Wtedy zobaczysz, czy to liczba, czy boolean czy inne ustrojstwo.
Go to the top of the page
+Quote Post
inny02
post
Post #19





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (10%)
X----


zwraca string(2) "0 "
Go to the top of the page
+Quote Post
muk4
post
Post #20





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


więc robisz:

  1. $status = trim($status);
  2. if (!$status) //jeśli false / 0
  3. {
  4. $stop .= $lang['error'];
  5. }

W PHP Porównanie == 0 jest takie same jak == false (chyba, że użyjesz === wtedy będzie sprawdzany typ i nie wyjdzie bo 0 jest stringiem a false boolean)

Ten post edytował muk4 9.07.2010, 20:10:28
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 21.08.2025 - 08:38