Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] sesje, wyrejestrowywanie zmiennych, czyli sesyjne tablice wielowymiarowe
-fear-
post 5.08.2006, 11:25:38
Post #1





Goście







Witam

moj problem polega na tym, iż chce zacząć używać tablic wielowymiarowej dla zmiennych sesyjnych i nie wiem jak wyrejestrowac dany wymiar tablicy.

gdy tablica sesyjna ma jeden wymiar(lub ma ich wiecej, ale chcemy wyrejestrowac cala tablica, wraz z jej wymiarami) to wiadomo, uzywamy:
  1. <?php
  2. session_unregister('nazwa zmiennej');
  3. ?>


w przypadku zwyklych tablic(np, przesylanych postem lub getem) usuniecie wybranego indexu tablicy wielowymiarowej nie jest problem bo nazwa zmiennej jest w nawiasach [ ]
  1. <?php
  2. unset($_POST['nazwa zmiennej']['index2']);
  3. ?>


jak wyrejestrowywac z sesji wybrany wymiar tablicy wielowymiarowej ?
dla przykladu, chcialbym wyrejestrowac tylko 2 wymiar tablicy ( [1] ):
  1. <?php
  2. $_SESSION['test'][0] = '0';
  3. $_SESSION['test'][1] = '1';
  4. $_SESSION['test'][2] = '2';
  5. ?>

czyli, że po wyrejestrowaniu w tablicy pozostalo by tylko
  1. <?php
  2. $_SESSION['test'][0] = '0';
  3. $_SESSION['test'][2] = '2';
  4. ?>


czy może ktoś mi pomóc? zaznaczam, że prześledziłem temat session_unregister() w manualu
Go to the top of the page
+Quote Post
mike
post 5.08.2006, 11:31:39
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(fear @ 5.08.2006, 12:25 ) *
zaznaczam, że prześledziłem temat session_unregister() w manualu

Oj chyba niedokładnie tongue.gif

Cytat
Uwaga!

Jeśli używasz $_SESSION (lub $HTTP_SESSION_VARS), nie używaj session_register(), session_is_registered() i session_unregister().


Najlepiej zostaw funkcje session_register(), session_is_registered() i session_unregister() - są mało wygodne.
Zacznij stosowac tylko $_SESSION[] i unset()
Go to the top of the page
+Quote Post
-fear-
post 5.08.2006, 11:35:57
Post #3





Goście







no tak, ale w komentarzach napisane jest

Cytat
unset($_SESSION['varname']) will only unset the session var on the current page.


a jeśli dobrze rozumiem, to będą one wyrejestrowane dla aktualnie otwartej strony. Czyli poza ta strona zmienne sesyjne będa dalej dostepne... czy nie?
Go to the top of the page
+Quote Post
-fear-
post 5.08.2006, 11:38:47
Post #4





Goście







Cytat
Ta funkcja nie usuwa zmiennej globalnej o nazwie nazwa, a jedynie zapobiega zapisaniu tej zmiennej jako części sesji. Jeśli chcesz usunąć odpowiednią zmienną globalną, musisz użyć funkcji unset().


ehhh.. moze i masz racje... czyli po uzyciu unset() na nastepnych stronach wykorzystujacych tą sesję zmienne ktore usunolem nie będą dostępne? nie będą już one zapisywane do sesji?
Go to the top of the page
+Quote Post
mike
post 5.08.2006, 11:58:39
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(fear @ 5.08.2006, 12:38 ) *
ehhh.. moze i masz racje... czyli po uzyciu unset() na nastepnych stronach wykorzystujacych tą sesję zmienne ktore usunolem nie będą dostępne? nie będą już one zapisywane do sesji?

Dokładnie.
Jeśli wyrzucisz usuniesz zmienna sesyjną z apomocę unset() nie będzie ona juz istniała w sesji.
Go to the top of the page
+Quote Post
-fear-
post 5.08.2006, 13:45:47
Post #6





Goście







dziekuje 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: 19.07.2025 - 01:25