Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] Problem z przekierowaniem wewnątrz kontrolera.
siuda
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2012

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


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,
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


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ę.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
siuda
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2012

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


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,
Go to the top of the page
+Quote Post
Ghost_78
post
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


a nie lepiej w sesji przetrzymać ten adres ?


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #5





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Oczywiście że można. Podałem tylko jedno z kilku rozwiązań jak można z tym problemem sobie poradzić.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
Fluke
post
Post #6





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


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
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 Aktualny czas: 19.08.2025 - 12:53