![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 36 Dołączył: 8.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zauwazylem dziwne zachowanie wywolania header("Locat ion: /user/0/account"); . Niby na pierwszy rzut oka wyglada dobrze, powinno przeniesc pod www.example.com/user/0/account - niestety po czesci tak jest. Dlaczego po czesci ? Przyklad: Jestem na strone /user/0/loginForm gdzie znajduje sie formularz z action="/user/0/login". Potwierdzam formularz... Operacje przebiegaja pomyslnie... Jestem logowany i powinno przeniesc mnie na strone /user/0/account . Niestety tak sie nie dzieje, jestem przekierowany na strone /user/0/login czyli pod strone z action. To nic, moj kontroler zachowuje sie jakbym byl pod strona /user/0/account (IMG:style_emoticons/default/biggrin.gif) (widze to po wczytanym szablonie) - czyli adres wyglada tak jak w action ale w rzeczywistosci jest inny (IMG:style_emoticons/default/smile.gif) Jest pod adresem z przekierowania (ale zamotane...) Dodam ze moj index.php uzywa try...catch(), po kazdym header() mam exit. Kawalek kodu wywoluje te moje logowanie, czeka na zwrocona wartosc (moze przez to ? bo ja nic nie zwracam tylko uzywam header();exit;). Inaczej wyglada sytuacja gdy wpisze pelny adres: header("Location: http://www.example.com/user/0/account") - w tym przypadku przekierowuje mnie na to strone poprawnie. Moze cos Apache / PHP jest inaczej skonfigurowane niz mysle ? Za pomoc z gory dziekuje ! Pozdrawiam Ten post edytował *OuTSideR* 24.02.2010, 11:21:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Bo prawda jest taka, że tylko to drugie rozwiązanie czyli z podaniem http:// jest poprawne. To, że header przyjmuje także ścieżki względne jest pewnym ułatwieniem dla nas, webmasterów, ale nie jest to poprawne według specyfikacji. Działa jednak ze względu na lenistwo programistów, choć jak sam zauważyłeś, nie zawsze tak jak byśmy tego oczekiwali. Jeśli nie wierzysz poczytaj, a dowiesz się, że Location zawsze powinno być podawane jako wartość bezwzględna od http:// lecąc (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 15:38 |