Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Header - dziwne zachowanie, 'Cannot modify...' - to nie ten problem ;)
outsider
post
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
  1. $mv = $actionController->$methodName();
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 15:38