![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chcę żeby po zalogowaniu użytkownika w zmiennych sesyjnych były zapamiętywane: id_uzytkownika i jego imie pobrane z tabeli zeby potem mozna je bylo wyswietlic na kazdej stronie dostepnej po zalogowaniu, a przy uzyciu funkcji ZF do sesji nie udaje mi sie potem wyswietlic wartosci zmiennych sesyjnych.
Klasę kontrolera logowania: class AuthController extends Zend_Controller_Action zrobiłem wg tego tutoriala: http://developer.denken.com.br/wp-content/...nd-auth_105.pdf W funkcji odpowiedzialnej w tym kontrolerze za logowanie po tym jak juz zweryfikowano tozsamosc logujacego dałem:
Jak zamiast tych funkcji Zend Frameworka zrobię w normalnym PHP to o dziwo działa.
W funkcji odpowiadającej za wylogowanie w tym kontrolerze dodałem:
Na innych stronach dostepnych po zalogowaniu w kontrolerach umieszcza się funkcję: public function preDispatch() { } Nic w niej związanego z sesjami nie dodawałem. I jak próbuję na dowolnej stronie dostępnej po zalogowaniu wyświetlić wartości zmiennych sesyjnych: To nic się nie wyświetla, dlaczego ? Ten post edytował nieraczek 13.11.2008, 14:07:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 4 Dołączył: 6.11.2008 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
rozumiem że prubujesz je wyświetlić w pliku widoku?
jeśli tak to czy masz w kontrolerze coś takiego Kod $this->view->przestrzennazw1 = $przestrzennazw1; i co Ci pokazuje jak w kontrolerze dasz Kod ZEND_DEBUG::dump($przestrzennazw1);
// lub od razu całą tablice sesji ZEND_DEBUG::dump($_SESSION,'tablica SESSION: <br />'); -------------------- Dysortografik -> nie besztać za błędy ;P
pomogłem ? -> kliknij "pomógł" ;) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
W końcu udało mi się zrobić i działa - tylko nie wiem czy to jest całkowicie poprawne.
W kontrolerze odpowiedzialnym za logowanie zrobiłem tak:
W innym kontrolerze "kontroler1" do którego akcji-stron mają dostęp tylko zalogowani użytkownicy chcę wykorzystać wartości zmiennych sesyjnych (utworzonych w kontrolerze odpowiedzialnym za logowanie LoginController). W akcji tego kontrolera potrzebuję wartości zmiennej sesyjnej 'id_uzytkownika' więc robi to tak jak niżej tylko zastanawia mnie, że znowu muszę pisać $osoba = new Zend_Session_Namespace('logowanie'); tak jakbym znów tworzył nową przestrzeń nazw, która już przecież istnieje w kontrolerze logowania, ale jak tego nie zrobię to nie bedę mógł pobrać wartości zmiennej sesyjnej. I to działa, ale może jednak nalezy to robić jakoś inaczej ![]()
Tak samo na stronie "akcja1.phtml" jak chcę wyświetlić wartość zmiennej sesyjnej 'imie' to najpierw muszę napisać: $osoba = new Zend_Session_Namespace('logowanie');:
Czy to się na pewno tak poprawnie robi ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 4 Dołączył: 6.11.2008 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
jeśli chcesz kożystać z Zend_Session to poprawnie to robisz
a jeśli Ci taki zapis nie odpowiada możesz to wyświetlić w taki sposób Kod <?
echo $_SESSION["logowanie"]["imie"]; ?> Ten post edytował tomek_ 17.11.2008, 12:11:52 -------------------- Dysortografik -> nie besztać za błędy ;P
pomogłem ? -> kliknij "pomógł" ;) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:35 |