Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Błędny wynik instrukcji warunkowej
Forum PHP.pl > Forum > Przedszkole
eminiasty
  1. $query2 = "SELECT rank_name FROM ".$prefix."rank JOIN ".$prefix."users ON ".$prefix."users.rank_id = ".$prefix."rank.rank_id WHERE ".$prefix."users.users_id='".$user."'";
  2. $result= mysqli_query($link,$query2) OR die(mysqli_error());
  3. $row = mysqli_fetch_array($result);
  4. $rank = $row['rank_name'];


  1. if ($rank != 'Administrator' && $rank != 'Mod'){
  2. header('Location: error1.php');
  3. }
  4.  
  5. else{
  6. ...tresc
-- ta wersja dziala poprawnie
  1.  
  2. if ($rank != 'Administrator' || $rank != 'Mod'){
-- ta nie

Zalozmy ze loguje sie na konto MOD. Czyli rank=mod

I teraz tak nasz warunek mowi ze error1 pokaze sie gdy rank jest inne niz administrator i inne niz mod wiec tresc sie pokazuje, tylko niech mi ktos wytlumaczy dlaczego to samo nie dziala dla lub czyli ||

Przeciez logujac konto ADMINISTRATOR jest on jednoczesnie modem i adminem , lecz logujac moda nie jest on juz adminem wiec, dlaczego wtedy wysiwetla error
nospor
Cytat
lecz logujac moda nie jest on juz adminem wiec
No wlasnie, nie jest adminem wiec
$rank != 'Administrator'
jest prawdziwe....
eminiasty
to czemu AND dziala a nie LUB... kurde dalej tego nie kminie?
nospor
bo AND to I
a OR to LUB

To sa podstawy logiki...

Mozesz wejsc na impre gdy masz cukierki lub ciastka
Mozesz wejsc na impre gdy masz cukierki i ciastka

Naprawde nie widzisz roznicy miedzy tymi dwoma zdaniami?

Albo inaczej, nawiazujac do twoich negacji:

Dostaniesz w pysk gdy nie jestes bialy i gdy nie jestes Polakiem
Dostaniesz w pysk gdy nie jestes bialy lub gdy nie jestes Polakiem

Jasniej?
eminiasty
1.wyswietli sie blad gdy nie jestes admin i gdy nie jestes mod
a) loguje admina - zgadza sie(pokazuje tresc)
cool.gif loguje moda - zgadza sie(pokazuje tresc)

-logujac moda =/= nie loguje admina czyli nie jestem adminem ale jestem modem wiec to powinno zwroc falsz?

2.wyswietli sie blad gdy nie jestes admin lub gdy nie jestes mod
-to zajarzylem
nospor
Cytat
-logujac moda =/= nie loguje admina czyli nie jestem adminem ale jestem modem wiec to powinno zwroc falsz?

O ktorym warunku mowisz?
Jesli o tym,
if ($rank != 'Administrator' && $rank != 'Mod'){
to wszystko sie nadal zgadza. Jak sie logujesz na moda, to ten warunek nie jest spelniony wiec error sie nie pokazuje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.