Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem ze statusem dla zalogowanego i niezalogowanego
Forum PHP.pl > Forum > Przedszkole
roobik
Cześć.
Mam "mały" problem z wyświetlaniem zawartości strony dla zalogowanego i niezalogowanego. Teoretycznie sprawa jest bardzo prosta, lecz niestety ja już siedzę nad tym parędni i już mi się pomysły skończyły.
Na początek o co chodzi:

status=0 => materiał widoczny dla wszystkich
status=7 => materiał widoczny dla zalogowanych, ALE:
gdy chce go oglądać niezalogowany, to zamiast materiału pokazuję info
gdy zalogowany - widzi materiał (czyli nie widzi info dla niezalogowanego)

Czyli inaczej mówiąc:
- zalogowany widzi status 0 dla wszystkich i status 7 dla zalogowanego
- niezalogowany widzi status 0 dla wszystkich i status 7 dla niezalogowanego
(w przypadku niezalogowanego - widzi on informację zamiast treści z bazy)

I teraz tak:
  1. if(is_user_login()=='yes') $result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND (status='0' AND status='7'");
  2. elseif(is_user_login()<>'yes') $result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='0'");

I już wiecie o co chodzi...
Bez sensu jest dać w drugim zapytaniu:
  1. elseif(is_user_login()<>'yes') $result = mysql_query("SELECT * FROM tabela WHERE id='$id' (status='0' AND status='7'");




Gdy natomiast dam tak:
  1. elseif(is_user_login()=='yes')$result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='7'");
  2. elseif(is_user_login()<>'yes')$result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='0'");
  3. elseif(is_user_login()=='yes')$result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='7'");

to:
- zalogowany widzi status 7 (z treścią z bazy - i to jest OK), ale nie widzi statusu 0 (to nie jest OK, bo status 0 jest dla wszystkich)
- niezalogowany nie widzi statusu 7, tj. informacji dla niezalogowanego (to nie jest OK), ale widzi status 0 (to jest OK).

I jak to rozwalić?

Nie wiem, być może to błahostka... Może po prostu czegoś "nie widzę", albo zabieram siędo tego nie tak... Pomóżcie proszę...
nospor
Z logika widze u ciebie kiepsko (patrzac na te IFy) wink.gif
zas kody jak ten
is_user_login()=='yes'
gdzie funkcja zamiast zwrocic true lub false zwraca napis 'yes' to juz w ogole wolaja o pomste do nieba wink.gif

A czemu poprostu nie pobierzesz tego zasobu bez zadnych warunkow w zapytaniu, a dopiero potem w kodzie php dasz if, ktore sprawdzi czy user ma prawo to widziec czy nie?

ps: przenosze
roobik
Cytat(nospor)
A czemu poprostu nie pobierzesz tego zasobu bez zadnych warunkow w zapytaniu, a dopiero potem w kodzie php dasz if, ktore sprawdzi czy user ma prawo to widziec czy nie?

Qtva.... no właśnie smile.gif Skupiłem się na tych statusach i grzebałem przy nich właśnie. O zapytaniu bez warunków, a dopiero później dać ify nie pomyślałem nawet... Jakaś pomroczność jasna wink.gif

Dzięki nosporexclamation.gif! smile.gif

Pozdrawiam!
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.