Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zapamiętać poprzedni url
Forum PHP.pl > Forum > Przedszkole
Radek79
Przechodząc na nową stronę sprawdzam obecność zmiennej i w przypadku gdy jej nie ma chciałbym wrócić od razu na poprzednią.
Czy da się napisać taki kod w PHP ?
skowron-line
mozna np w js history.go(-1)
a w phpie jest to $_SERVER[HTTP_REFERER] czyli strona z ktorej przeszedles na obecna
Mordoran
  1. <?php
  2. if (!isset($zmienna_ktora_ma_byc_ustawiona) {
  3. $poprzednia = $_SERVER['HTTP_REFERER'];
  4. // przekierowanie na adres poprzedniej strony
  5. header("Location: $poprzednia");
  6. } else {
  7. // tutaj mozesz dac kod twojej strony
  8. }
  9. ?>

tak na szybko napisane:)
tsharek
należy dodać że $_SERVER['HTTP_REFERER'] nie zawsze musi działać (przeglądarka NIE MUSI wysyłać referera, bądź blokuje to jakiś firewall/proxy). Tak więc najleprzym sposobem jest zapamiętanie w sesji adresu aktualnej strony, i po odświerzeniu przed zapisaniem nowego adresu odczytać poprzedni (można dodać jeszcze wykrywanie odświerzenia strony)
Radek79
Cytat(tsharek @ 6.09.2007, 11:39:39 ) *
należy dodać że $_SERVER['HTTP_REFERER'] nie zawsze musi działać (przeglądarka NIE MUSI wysyłać referera, bądź blokuje to jakiś firewall/proxy). Tak więc najleprzym sposobem jest zapamiętanie w sesji adresu aktualnej strony, i po odświerzeniu przed zapisaniem nowego adresu odczytać poprzedni (można dodać jeszcze wykrywanie odświerzenia strony)

Pomysł z sesją mi pasuje gdyż jej na tych stronach używam.
Mógłbyś podać przykład jak zapamiętać adres w sesji aby się do niego móc później odwołać?
tsharek
najprościej jak się da:
  1. <?php
  2. $_SESSION['historia']='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  3. ?>
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.