Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]usuwanie sesji z 1 wyjątkiem
Forum PHP.pl > Forum > Przedszkole
rafiksq
Mam około 40 sesji, usuwam je przez:

  1. foreach($_SESSION as $value => $key){
  2. unset($_SESSION[$value]);
  3. }


ale chciałbym jedną zostawić np $_SESSION['wyjatek'].

Jak to zrobic?
XianN
Cytat(rafiksq @ 7.02.2010, 16:12:01 ) *
Mam około 40 sesji, usuwam je przez:

  1. foreach($_SESSION as $value => $key){
  2. unset($_SESSION[$value]);
  3. }


ale chciałbym jedną zostawić np $_SESSION['wyjatek'].

Jak to zrobic?


Pomyslow na to jest sporo. Ale powoli.

1) Nie masz 40 sesji, tylko po 1 dla uzytkownika strony. Masz 40 zmiennych sesji.
2) foreach ... as $key => $value, tak to dziala (u Ciebie jest odwrotnie - kiedys sie przez to pomylisz).
3) Chcesz zrobic wyjatek to zrob zwykly warunek:
  1. foreach($_SESSION as $key)
  2. {
  3. if ('wyjatek' != $key)
  4. {
  5. $unset($_SESSION[$key]);
  6. }
  7. }

Czesc nadgorliwa:
Usuwasz je w petli, a nie musisz, mozesz zrobic to bardziej optymalnie, np tak:
  1. $_SESSION = array();

I w tej sytuacji mozesz zostawic sobie wyjatek o tak:
  1. $_SESSION = array($_SESSION['wyjatek']);
devdev
  1. foreach($_SESSION as $value => $key)
  2. {
  3. if($_SESSION['bumbum']) continue;
  4. unset($_SESSION[$value]);
  5. }
  6.  

za bumbum dajesz swoje

Nie jestem pewny ale może zadziała
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.