Czy idzie jakoś zdebugować to czy ta funkcja wykonuje się poprawnie? Ona nic nie zwraca i nie jestem pewien czy to to..
Funkcja działa na pewno tak jak powinna, czyli ustawia nagłówek.
Jedyne co może się nie udać, to jakbyś zrobił coś takiego:
Kopiuj
echo "body"; // tu wysyłasz body
header(); // a tu header
Ale jeśli czegoś takiego nie robisz, to nie musisz się martwić - header() ustawi nagłówek poprawnie
.
Generowany jest link, a następnie jest przekierowanie. I w 90% przypadków jest ok, natomiast 10% przypadków kończy się przekierowaniem na stronę główną.
W kodzie mam:
Kopiuj
private function redirect() {
$url = $this->getUrl(); // np. https://4programmers.net/Forum/PHP/
header('Location: '.$url);
exit();
}
To pierwszym miejscem gdzie bym szukał, jest ta metoda getUrl() - zobacz sobie co dokładnie ona zwraca.
Bo jeśli ona w jakimś wypadku zwróci pusty string, null, 0 albo false, to wynikowy kod będzie tak: header('Location: ');, czyli zostaniesz przekierowany na url "", który jest względny, i to Cię przekieruje na stronę główną.