Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Usuwanie ciasteczka sesyjnego
hausner15
post 4.02.2008, 13:53:12
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


Witam mam pytanie jak w temacie.

Próbuję usuwać ciacho sesyjne

session_destroy();

ale nie usuwa on całkowicie ciastka.

Próbowałem usuwać też poprzez setcookie z czasem ujemnym ale nie działa mi to.

Proszę pomóżcie.
Go to the top of the page
+Quote Post
Lion_87
post 4.02.2008, 13:55:39
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


moze razem::

Kod
session_unset();
session_destroy();


Ten post edytował Lion_87 4.02.2008, 13:56:02
Go to the top of the page
+Quote Post
-Wieviór-
post 4.02.2008, 13:56:20
Post #3





Goście







  1. <?
  2. setcookie('nazwa', , strtotime('-365 days'));
  3. ?>


Musi działać ;]
Go to the top of the page
+Quote Post
hausner15
post 4.02.2008, 14:04:42
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


Sposób 1 to próbowałem już dawno i nic...

A sposób Wieviora jakoś mi nie działa - nie wiem czemu....

Macie może jeszcze jakieś pomysły??
Go to the top of the page
+Quote Post
-Wieviór-
post 4.02.2008, 14:10:31
Post #5





Goście







Przepraszam, literówka, spróbuj teraz:

  1. <?
  2. setcookie('nazwa', strtotime('-365 days'));
  3. ?>


Musi działać ;]
Go to the top of the page
+Quote Post
hausner15
post 4.02.2008, 14:24:50
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


Hmm to co napisałeś towrzy mi ciasteczko z unixową datą rok wcześniejszą smile.gif.

Próbowałem z dodaniem pola wartość na "" ale nic to nie daje - cały czas ciasteczko sesyjne siedzi.

Jest mi to potrzebne bo chciałem do swojego skryptu logowania dodać możliwość automatycznego logowania - poprostu ciastko sesyjne miało zostawać na np. rok, ale w takim wypadku nie mogę tego zrobić bo ciastko zostanie po kliknięcu na wyloguj i nie będzie można zalogować się "normalnie".
Go to the top of the page
+Quote Post
-Wieviór-
post 4.02.2008, 14:27:01
Post #7





Goście







Pokaż coś więcej kodu, u mnie jak robię to moim sposobem, to działa, więc może coś inaczej w kodzie jest.

Moment, w którym tworzysz ciastko, i jak próbujesz je usunąć.

Ten post edytował Wieviór 4.02.2008, 14:27:38
Go to the top of the page
+Quote Post
smietek
post 4.02.2008, 14:57:46
Post #8





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Pewnie w ciachach zostają Ci jest wartości zmiennych sesyjnych.
  1. <?php
  2. unset(nazwa_zmiennej);
  3. //Przykładzik
  4. unset($_SESSION[nick]);
  5. ?>

I tyle, nie ma już zmiennej.


--------------------
Go to the top of the page
+Quote Post
hausner15
post 4.02.2008, 18:00:49
Post #9





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


smietek usunąć zmienne z sesji umiem ale chodzi mi o usunięcie całego ciastka - wszystko się obija o czas ważności sesji. Ale może inaczej - czy da radę przestawić czas ważności sesji?? tzn przestawić ważność ciastka, np. że ktoś się zalogował, sesja trwa godzinę, przez 30minut user nic nie robił i jak kliknie gdzieś to znowy ma czas 1 godzinę - może trochę namieszałem ale chyba wiadomo o co chodzi
Go to the top of the page
+Quote Post
smietek
post 4.02.2008, 19:00:07
Post #10





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Ale czy tobie chodzi o sesje, czy o ciasteczka. Przecież sesje USUWAJĄ się od razu po zamknięciu przeglądarki (chyba, że zmienisz to w php.ini).


--------------------
Go to the top of the page
+Quote Post
hausner15
post 4.02.2008, 19:13:08
Post #11





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


No więc tak - chodzi mi o usunjięcie ciasteczka które tworzy sesja. Chodzi to że jak ktoś się u mnie loguje to może wybrać czy do zamknięcia przeglądarki, czy autologowanie. Przy autologowaniu jest tworzona sesja z czasem do przodu o jakiś rok, więc można to nazwać autologowaniem. Problem nastaje kiedy ktoś będzie chciał zrezygnować z tej opcji. Spróbuje on się wylogować i zalogować na nowo bez tej opcji, ale wtedy zaloguje go na tą samą sesje, która jest ważna do x czasu.

Więc musiałbym przy wylogowywaniu kompletnie usuwać sesje - razem z ciastkiem.
Go to the top of the page
+Quote Post
Kicok
post 5.02.2008, 09:14:39
Post #12





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


  1. <?php
  2.  
  3.  
  4. if( isset( $_GET['session_stop'] ) )
  5. {
  6. $sessName = session_name();
  7.  
  8.  
  9.  
  10. setcookie( $sessName, "", time() - 3600 );
  11.  
  12. echo 'Session cookie removed';
  13. }
  14. else
  15. {
  16.  
  17. echo '<b>sessID = </b>' . session_id();
  18. }
  19.  
  20.  
  21. ?>
  22.  
  23. <br /><br /><br /><hr />
  24. <a href="?">Loopback</a><br /><br />
  25.  
  26. <a href="?session_stop">Session stop</a>

Sprawdź czy ID sesji zmienia się, gdy zamykasz przeglądarkę i czy się zmienia, gdy wchodzisz na ?session_stop



Jednak taki sposób autologowania nie jest najlepszy. Lepiej byłoby gdybyś podczas logowania z zaznaczonym [autologowaniem] utworzył nową sesję oraz ciasteczka z wartościami:
1) userID = $userID
2) hash = md5( $userPASS . $salt )

i przy ponownym wejściu użytkownika na stronę porównujesz informacje z ciasteczka z informacjami zapisanymi w bazie danych. Jeśli sie zgadzają to tworzysz mu nową "zwykłą" sesję i ewentualnie odświeżasz ciasteczko (żeby przedłużyć okres ważności). Jeśli się nie zgadzają - przerzucasz użytkownika do formularza z logowaniem.

Ten post edytował Kicok 5.02.2008, 09:15:44


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
hausner15
post 5.02.2008, 16:49:47
Post #13





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 5.02.2007

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


Kicok twój pomysł mi sie podoba i rzeczywiście powinien być lepszy. Zrobie to tak jak mówisz.

Wszystkim dzięki i pozdrawiam!
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: 14.08.2025 - 07:51