Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sesje
mizii
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.10.2015

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


Mam taki problem mam w pliku index.php kilka require ktore po kolei wczytuja moduly header, menu, content, foother
i jak klikam w menu wyloguj to wylogowanie jest wykonane po wyswietleniu juz menu i widac opcje ktore sa dostepne dla zalogowania, moge jakos wymusic to zeby najpierw mnie wylogowalo? a dopiero pozniej wczytalo menu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Tak,

1. funkcja logout powinna być przez header, a nie po (tutaj pewnie funkcja jest w CONTENT).
2. Użyć header("Location: index.php"); na stronie wylogowania, aby przekierować na stronę domyślną po wylogowaniu.
Go to the top of the page
+Quote Post
nospor
post
Post #3





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




A przede wszystkim powinienies oddzielac logike aplikacji od jej wyswietlania. A ty teraz mieszasz wszystko i masz co masz.
Go to the top of the page
+Quote Post
mizii
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.10.2015

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


dodałem na poczatku pliku index cos takiego probowałem tez wrzucic to do nagłówka

if ($_GET["id"]=='logout')
{
session_destroy();
}


gdyż link do wylogowania tak xxx/index.php?id=logout


nospor - mogl bys mi podeslac jakies namiary na temat uporządkowania tego?
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


A dlaczego nie sprawdzasz coś w stylu if(isset($_SESSION['user'])){echo menu dla zalogowanego}
Ogólnie głębszy temat jeśli chodzi o uporządkowanie. Poczytaj o MVC.
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Cytat
nospor - mogl bys mi podeslac jakies namiary na temat uporządkowania tego?

Idea jest prosta: najpierw robisz wszelkie obliczenia, pobierania danych z bazy itp. Gdy masz juz wszystkie niezbedne dane dopiero robisz wyswietlanie tego. ustawianie ciasteczek, przekierowania i inne headers robisz w czesci logiki. Wowczas gdy dochodzisz do wyswietlania to masz juz wszystko co potrzebujesz.
Jesli chcesz poczytac to zainteresuje sie MVC.

Z prywatnych rzeczy moge ci pokazac to:
http://nospor.pl/klasa-widoku.html
jest tam pokazane jak oddzielic logike od wyswietlania. Przyklad ten jest daleki od idealu ale ladnie ci pokaze o czym teraz mowie.
Go to the top of the page
+Quote Post
mizii
post
Post #7





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.10.2015

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


viking co do menu to wyswietlam je tak
if($_SESSION['userlvl']==1)
{echo menu dla admina}
elseif($_SESSION['userlvl']==2)
{echo menu dla zalogowany}
else
{echo menu dla niezalogowany}
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




@mizii twoj problem polega teraz na tym, ze wylogowanie robisz w content, a menu wyswietlasz przed content. Niezaleznie jak to teraz robisz w content to nie zadziala bo i tak menu wykonujesz najpierw.
Go to the top of the page
+Quote Post
mizii
post
Post #9





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.10.2015

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


dobra dzieki chlopaki udalo mi sie to poprawic zmieniajac troszke w logice i wywalajac logowanie w inne miejsce (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 11:54