Tytuł tego pytania w pewnym sensie wyjaśnia moje pytanie. Jak przekierować odwiedzającego stronę PHP z powrotem do poprzedniej strony z rozszerzeniemheader( "Location: URL of previous page" );
Tytuł tego pytania w pewnym sensie wyjaśnia moje pytanie. Jak przekierować odwiedzającego stronę PHP z powrotem do poprzedniej strony z rozszerzeniemheader( "Location: URL of previous page" );
Odpowiedzi:
próbować:
header('Location: ' . $_SERVER['HTTP_REFERER']);
Pamiętaj, że może to nie działać w przypadku bezpiecznych stron (HTTPS) i ogólnie jest to dość zły pomysł, ponieważ nagłówek może zostać przejęty, wysyłając użytkownika do innego miejsca docelowego. Przeglądarka może nawet nie wysłać nagłówka.
Idealnie byłoby, gdybyś:
To takie proste, po prostu użyj tego
header("location:javascript://history.go(-1)");
Dla mnie działa dobrze
"Corrupted Content Error The page you are trying to view cannot be shown because an error in the data transmission was detected."
więc jest to w zasadzie bezużyteczne.
Musisz jakoś zapisać tę lokalizację.
Powiedz, że jest to formularz POST, po prostu umieść bieżącą lokalizację w ukrytym polu, a następnie użyj jej w header()
lokalizacji.
Tylko mały dodatek: uważam, że jest to powszechna i znana rzecz, którą dodaje się exit;
po funkcji nagłówka na wypadek, gdybyśmy nie chcieli, aby reszta kodu była ładowana lub wykonywana ...
header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;
Przechowywanie poprzedniego adresu URL w zmiennej sesji jest złe, ponieważ użytkownik może kliknąć prawym przyciskiem myszy wiele stron, a następnie wrócić i zapisać.
chyba że zapiszesz poprzedni adres url w zmiennej sesji do ukrytego pola w formularzu i po zapisaniu nagłówka („Lokalizacja: zapisz URL strony wywołującej”);