Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]nie niszczy sesji
jacusek
post 8.11.2010, 13:27:27
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Mam taki mały skrypt odpowiadający za wylogowanie:
  1. <?php
  2. if(($_POST['wyloguj'])&&($_COOKIE[''.$_SESSION['user'].'']==1)){
  3. setcookie(''.$_SESSION['user'].'', "1", time()-60, "/");
  4. echo "<center><h3>Zostałeś wylogowany!!!!!
  5. Żeby zalogować się ponownie kliknij poniższy link:<br>
  6. <a href=\"logowanie.html\">LOGOWANIE</a></center></h3>";
  7. }
  8. ?>

Logowanie jest na podstawie ciasteczek. Chciałem się dowiedzieć jak można zniszczyć także sesję. To niestety nie działa - usuwa się plik cookie, ale nie usuwa się sesja. Dodawałem na poczatku ob_start i na końcu ob_end_flush, ale to róznież nie pomaga. Cały czas pozostaje session_id

Ten post edytował jacusek 8.11.2010, 13:29:55
Go to the top of the page
+Quote Post
Ghost_78
post 8.11.2010, 13:29:59
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


mysle ze powiniennes przy wylogowywaniu uzyc unset($_SESSION);


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
jacusek
post 8.11.2010, 13:35:02
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


no to już wpadłem wczesniej i niestety to nie o to chodzi.
Go to the top of the page
+Quote Post
Ghost_78
post 8.11.2010, 13:42:06
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


ale zmienna $_SESSION[user] juz chyba wtedy nie istnieje ?
z tego co wiem to jezeli uzyjesz session_start to identyfikator zmiennej zostanie utworzony ale nie bedzie posiadal danych


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ciekawskiii
post 8.11.2010, 13:46:17
Post #5





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---




tak miales? ja u siebie tego uzywam i dziala

i to niszczenie sesji daj przed echo


--------------------
Go to the top of the page
+Quote Post
jacusek
post 8.11.2010, 14:38:19
Post #6





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


na to też wpadłem.
@Ghost_78
rzeczywiście całą table z danymi sesyjnymi mi wywala, ale nie zmienia to faktu, że pozostaje session_id
Go to the top of the page
+Quote Post
Ghost_78
post 8.11.2010, 14:44:19
Post #7





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


no to w czym problem ? smile.gif
tam gdzie sprawdzasz czy ktos jest zalogowany nie sprawdzaj session_id tylko np:

  1. if (isset($_SESSION['user'])){
  2. //zalogowany
  3. }else{
  4. //wylogowany
  5. }


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
jacusek
post 8.11.2010, 14:56:34
Post #8





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


mnie wylogowuje i to działa, mnie interesuje dlaczego nie mogę zlikwidować tego session id
Go to the top of the page
+Quote Post
Ghost_78
post 8.11.2010, 15:01:31
Post #9





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


  1. session_start();// tworzy session_id
  2. //ustawione session_id - widac je mimo ze do sesji nic nie przekazales numer musial byc utworzony
  3.  
  4. session_destroy();// niszczy sesje razem z session_id
  5. // zmiszczone session_id - nie widzac


tak wiec session_id jest niszczone i tylko kwestia w tym gdzie go bedziesz szukal
jezeli nie chcesz zeby session_id bylo tworzone to nie wywoluj session_start() zawsze tylko w przypadku kiedy chcesz uruchomic sesje
np:
  1. if ($logowanie){
  2. }


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
outsider
post 8.11.2010, 18:14:25
Post #10





Grupa: Zarejestrowani
Postów: 267
Pomógł: 36
Dołączył: 8.08.2008

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


ten Twój mały skrypt coś jest źle napisany, nie powinno być tak ?
  1.  
  2. if(($_POST['wyloguj'])&&($_COOKIE[''.$_SESSION['user'].'']==1)){
  3. setcookie(''.$_SESSION['user'].'', "1", time()-60, "/");
  4. echo "<center><h3>Zostałeś wylogowany!!!!!
  5. Żeby zalogować się ponownie kliknij poniższy link:<br>
  6. <a href=\"logowanie.html\">LOGOWANIE</a></center></h3>";
  7.  
  8. }
  9.  

w końcu chcesz niszczyć sesje gdy ktoś chce się wylogować, a nie po każdym dojściu parsera do końca pliku smile.gif
A session_id nie możesz skasować, jeśli na początku skryptu masz session_start - to się wiąże z otwarciem nowej sesji, jeśli nie istnieje. Nowa sesja będzie miała inny session_id
Go to the top of the page
+Quote Post
ciekawskiii
post 8.11.2010, 19:09:19
Post #11





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Cytat(*OuTSideR* @ 8.11.2010, 18:14:25 ) *
ten Twój mały skrypt coś jest źle napisany, nie powinno być tak ?
  1.  
  2. if(($_POST['wyloguj'])&&($_COOKIE[''.$_SESSION['user'].'']==1)){
  3. setcookie(''.$_SESSION['user'].'', "1", time()-60, "/");
  4. echo "<center><h3>Zostałeś wylogowany!!!!!
  5. Żeby zalogować się ponownie kliknij poniższy link:<br>
  6. <a href=\"logowanie.html\">LOGOWANIE</a></center></h3>";
  7.  
  8. }
  9.  

w końcu chcesz niszczyć sesje gdy ktoś chce się wylogować, a nie po każdym dojściu parsera do końca pliku smile.gif
A session_id nie możesz skasować, jeśli na początku skryptu masz session_start - to się wiąże z otwarciem nowej sesji, jeśli nie istnieje. Nowa sesja będzie miała inny session_id

dlatego pisalem zeby session_destroy dal przed echo... no albo za echo:P

Ten post edytował ciekawskiii 8.11.2010, 19:09:52


--------------------
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 06:58