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:
if(is_user_login()=='yes') $result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND (status='0' AND status='7'"); 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:
elseif(is_user_login()<>'yes') $result = mysql_query("SELECT * FROM tabela WHERE id='$id' (status='0' AND status='7'");
Gdy natomiast dam tak:
elseif(is_user_login()=='yes')$result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='7'"); elseif(is_user_login()<>'yes')$result = mysql_query("SELECT * FROM tabela WHERE id='$id' AND status='0'"); 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ę...