Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje + cookies + czas zycia
Forum PHP.pl > Forum > Przedszkole
brachu
Mam taki maly problem, chce zrobic tak ze jezeli uzytkownik przez 10 minut nic na stronce nie zrobi (stronka sie nie przeladuje) to ma wygasnac cookie czyli ma wylogowac goscia. I zrobilem to tak:
  1. <?php
  2. ini_set('session.use_cookies', 1); 
  3. // dalsza czesc pliku index.php
  4. ?>


I wszystkie pieknie ladnie tylko ze niestety zawsze po 10 minutach mnie wylogowuje (usuwa cookie). Wynikaloby z tego ze ustawienie czasu zycia cookie jest tylko jedno - przed jego powolaniem do zycia, albo w sumie przed powolaniem do zycia sesji.

Pytanie czy da sie to obejsc?questionmark.gif To znaczy zmieniac czas zycia cookie w czasie trwania sesji?questionmark.gif
bronx
po prostu przy każdym przełądowaniu strony musisz wysyłać nowe ciastko (z pobraną aktualną godziną przedłuzoną o 10 min) i tyle...
brachu
No tak tak zgadza sie ale ja nie chce robic obslugi sesji na ciastkach od nowa, tylko chce zmienic ustawienia cookiesa tak jakby nadpisac mu czas wygasniecia... i narazie zrobilem tak:
  1. <?php
  2. ini_set('session.use_cookies', 1); 
  3. //dalsza czesc index.php
  4. ?>


i jak narazie nie wysypal mi sie po 10 minutach... zobaczymy czy po 10 minutach bezczynnosci sie wywali tak jak planowalem winksmiley.jpg

------------------------------
edit:

no i niestety to nie dziala tak jak chcialem sadsmiley02.gif trzeba jednak zrobic nadpisywanie cookies... mam juz pomysl jak to zrobic jak mi sie uda to wrzuce skrypt winksmiley.jpg

------------------------------
edit:

@bronx racja wystarczy wysylac ciastko za kazdym razem winksmiley.jpg a dla zainteresowanych wyglada to tak:
  1. <?php
  2. ini_set('session.use_cookies', 1); 
  3.  
  4. $cookie_params=session_get_cookie_params();
  5.  
  6. if(empty($cookie_params[domain])&&empty($cookie_params[secure])){
  7. setcookie(session_name(), session_id(), time()+600, $cookie_params[path]);
  8. }
  9. elseif(empty($cookie_params[secure])){
  10. setcookie(session_name(), session_id(), time()+600, $cookie_params[path], $cookie_params[domain]);
  11. }
  12. else{
  13. setcookie(session_name(), session_id(), time()+600, $cookie_params[path], $cookie_params[domain], $cookie_params[secure]);
  14. }
  15. ?>
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.