Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z header('Location:')
Forum PHP.pl > Forum > Przedszkole
kapuch
Jeszcze do niedawna to mi dzialalo:
  1. header("Location: ".$_SERVER['HTTP_REFERER']);

a teraz juz nie dziala, ale za to dziala to:
  1. header("Refresh: 0; url=".$_SERVER['HTTP_REFERER']);

dziala bezproblemowo. W czym problem?
Bo kombinuje z tym od wczoraj, przegladam php.ini i nie mam pojecia czemu to nagle przestalo dzialac :/
Poprostu Location nie reaguje, tak jakby nie bylo wpisanego adresu, ale refresh operujacy na tej samej zmiennej referer dziala...

EDIT:
Gdy wpisze adres na "sztywno":
  1. header("Location: index.php");

to dziala, wiec wyglada na to ze cos z tym http_referer, ale przy refresh ta zmienna jest ok :/


Podbijam :/
Niestety wrzucilem strone na kilka roznych serwerow (platne i darmowe) i lipa.
Normalnie z dnia na dzien przestalo to dzialac - nie mam pojecia co sie dzieje! sad.gif
nospor
Cytat
wiec wyglada na to ze cos z tym http_referer,

  1. echo 'Pokaz co wyswietli:'.$_SERVER['HTTP_REFERER'];
kapuch
Cytat(nospor @ 8.06.2010, 09:54:15 ) *
  1. echo 'Pokaz co wyswietli:'.$_SERVER['HTTP_REFERER'];

Sprawidzilem i wyglada na to ze $_SERVER['HTTP_REFERER'] nic nie zwraca :/
To byla ostatnia rzecz, ktorej sie spodziewalem (dlatego nawet nie sprawdzalem), poniewaz gdy wstawie tam header("Refresh:0; url="); ze zmienna referer to wtedy dziala.
Chyba, ze refresh automatycznie przerzuca do index.php, gdy nie ma podanego adresu - to by wyjasnialo troche.
Ok czyli jedno jest pewne, $_SERVER['HTTP_REFERER'] nie zwraca mi linku referera - w php.ini trzeba to ustawic?
Pozdrawiam
vermis
To nie kwestia twojego serwera tylko klienta wysyłającego żądanie, więc nie masz na to wpływu czy będzie referer czy nie.
Poza tym jaki jest sens odbijania klienta z powrotem tak skąd przyszedł?
nospor
Cytat
Sprawidzilem i wyglada na to ze $_SERVER['HTTP_REFERER'] nic nie zwraca :/
Nie mozna bylo od razu sprawdzic?
Zanim zadasz jakies kolejne pytanie na forum zapoznaj się z tym tematem:
Temat: Jak poprawnie zada pytanie

Jak już vermis wspomniał to nie wina serwera. Jedną z czestych przyczyn nie wysyłania REFERERA jest firewall na komputerze klienta.
Ogólnie lepiej nie polegać na $_SERVER['HTTP_REFERER'] smile.gif
kapuch
Cytat(nospor @ 8.06.2010, 12:52:36 ) *
Nie mozna bylo od razu sprawdzic?
Zanim zadasz jakies kolejne pytanie na forum zapoznaj się z tym tematem:
Temat: Jak poprawnie zada pytanie

Ano mozna bylo, ale tak jak pisalem, to byla ostatnia rzecz ktorej sie spodziewalem, poniewaz w tym samym miejscu kodu wstawilem header("Refresh:0; url=".$_SERVER['HTTP_REFERER']); i to dzialalo, a wiec wychodzilo na to ze referer zwraca prawidlowy link.
No powiedz sam, czy by Ciebie to nie zmylilo? winksmiley.jpg

Po co mi referer?
Ano przy logowaniu uzywam tego i jest mi to potrzebne, aby po zalogowaniu klient wracal na strone z ktorej chcial sie zalogowac.
Tzn. czyta sobie newsa jakiegos i chce skomentowac, loguje sie i nie musi spowrotem szukac tego newsa, tylko po zalogowaniu strona automatycznie wraca do poprzedniego punktu.
Ok bede wiec musial to obejsc w inny sposob (np. przekazac poprzez pole hidden w formularzu).
Dzieki za pomoc.
Cytat(nospor @ 8.06.2010, 12:52:36 ) *
Jak już vermis wspomniał to nie wina serwera. Jedną z czestych przyczyn nie wysyłania REFERERA jest firewall na komputerze klienta.
Ogólnie lepiej nie polegać na $_SERVER['HTTP_REFERER'] smile.gif

Ok w takim razie, czemu header(refresh) dziala dobrze z http_referer, skoro sam referer nic nie zwraca smile.gif
nvm zrobie to inaczej.
nospor
Cytat
No powiedz sam, czy by Ciebie to nie zmylilo?
No wlasnie nie. Jak mi coś nie dziala to sprawdzam jak ten "idiota" wszystkie zmienne biorącę udział w procesie "niedziałania". Nie latam bez potrzeby po forum z takimi banałami smile.gif


Ja do zapamietywania skad przyszedł używam sesji.
kapuch
Cytat(nospor @ 8.06.2010, 21:50:01 ) *
No wlasnie nie. Jak mi coś nie dziala to sprawdzam jak ten "idiota" wszystkie zmienne biorącę udział w procesie "niedziałania". Nie latam bez potrzeby po forum z takimi banałami smile.gif


Ja do zapamietywania skad przyszedł używam sesji.

To nie jest taki banal, bo nadal nikt nie wyjasnil mi dlaczego http_referer dziala przy uzyciu header("refresh"), a nie dziala przy header("location"), gdyby nie dzialalo przy obu to pierwsza rzecza, ktora bym zrobil, to wlasnie sprawdzenie referera.
Do tego dochodzi fakt, iz wszystko smigalo jeszcze pare dni temu, a z dnia na dzien (nic nie zmienialem w kodzie, ani w ustawieniach serwera) nie dziala.
Dla mnie ta cala sytuacja jest conajmniej dziwna, dlatego troszke sie pogubilem i zadalem banalne pytanie (aczkolwiek widywalem juz tu bardziej banalne).
No nic, juz skrecam pejcza i za chwile zaczne sie chlostac, nie wiem tylko czy ma byc do krwi, czy zwykle pregi wystarcza smile.gif
Pozdro

PS. Tak napisalem gwoli wyjasnienia, nie jest tak, ze pisze z kazda pierdola jaka napotkam na drodze, poprostu w tym przypadku troszke sie zamotalem.
A co do przekazywania adresu sesjami, tez moze byc - czemu nie winksmiley.jpg
nospor
Cytat
To nie jest taki banal, bo nadal nikt nie wyjasnil mi dlaczego http_referer dziala przy uzyciu header("refresh"), a nie dziala przy header("location"),
Oj... widać refresh toleruje nic nie podanie. Nad czym tu się zastanawiac? Powtarzam - jak ci coś nie działa to w pierwszej kolejnosci masz sprawdzić wszystkie dane biorącę udział w "akcji" - oszczędzisz sobie wbrew pozorom mnóstwo czasu.

Cytat
No nic, juz skrecam pejcza i za chwile zaczne sie chlostac, nie wiem tylko czy ma byc do krwi, czy zwykle pregi wystarcza
Weź wyślij smsa na cele dobroczynne a nie głupoty wygadujesz winksmiley.jpg
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.