Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Problem z przekierowaniem wewnątrz kontrolera.
Forum PHP.pl > Forum > PHP > Frameworki
siuda
Witam,

Mam 2 metody kontrolera w swojej aplikacji. Jedna to logowanie, a druga to dodawanie nowych wpisów do bazy danych. Jeżeli użytkownik nie jest zalogowany i będzie próbował dodać nowy wpis to automatycznie zostanie przekierowany na stronę logowania poprzez: $this->_forward('login'). Jednocześnie samo logowanie, które zakończone jest sukcesem powoduje przekierowanie na stronę główną identyczną metodą jak ta podana powyżej. Czy jest jakaś możliwość, aby niezalogowany użytkownik podczas próby dodania nowego wpisu został przekierowany na stronę logowania, a gdy zostanie już zalogowany to powrócił na stronę dodawania wpisu, zamiast na stronę główną?


Pozdrawiam,
k_@_m_i_l
Jak przenosisz użytkownika na stronę logowania, dodaj (np w zmiennej return) adres z której strony pochodzi przekierowanie (sprawdzaj oczywiście, czy przekierowanie następuje na pewno z Twojej strony itd).
W formularzu logowania dodaj ukrytą zmienną, w której zapiszesz adres powrotu z return-a a następnie w akcji logowania, jeśli będzie ono poprawne sprawdź czy istnieje adres przekierowania i przenieś użytkownika pod taką stronę.
siuda
Dziękuję Ci bardzo za podpowiedź. Jest to już dla mnie jakiś trop wink.gif Teraz już wiem, że jest to możliwe i czego mam szukać.


Pozdrawiam,
Ghost_78
a nie lepiej w sesji przetrzymać ten adres ?
k_@_m_i_l
Oczywiście że można. Podałem tylko jedno z kilku rozwiązań jak można z tym problemem sobie poradzić.
Fluke
Może Zend_Auth Ci w tym wszystkim pomoże wraz z Zend_Session.

  1. $ZendAuth = new Zend_Auth();
  2. $this->_redirector = $this->_helper->getHelper("Redirector");
  3. ...
  4. if($ZendAuth->hasIdentity() === true)
  5. $this->_redirector->gotoSimple("index", "index", "modol");
  6. else
  7. $this->_redirector->gotoSimple("login", "auth", "modol");


W tym redirectorze masz kolejno parametry: akcja, controller, moduł.
Mam nadzieję że coś pomoże.

Pozdrawiam smile.gif
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.