Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zapisanie adresu w zmiennej do stałej?
Forum PHP.pl > Forum > Przedszkole
!*!
Temat brzmi głupio ale nie wiem jak poradzić sobie z pewnym mykiem... Mianowicie tak sprawdzam czy link został wywołany 5 razy, jeśli tak, zostaje przekierowany:

  1. <?php
  2. if ($_SESSION['numm']) {$_SESSION['numm']++;}else {$_SESSION['numm']=1;}
  3. if ($_SESSION['numm'] >= 5) {echo '<meta http-equiv="Refresh" content="0; URL=http://localhost/przekierowany">';$_SESSION['numm'] = 0;exit;}
  4. ?>


na stronie przekierowany.php, chciałbym odczytać adres z jakiego linku trafił na tą stronę i robię to tak:

  1. <?php
  2. $test2 = $_SERVER["HTTP_REFERER"];
  3. ?>


działa to dobrze do momentu odświeżenia strony, wtedy zmienna test2 ma wartość przekierowany.php a nie strony z której do niej się trafiło. Dlaczego odświeżam stronę? Jest na niej walidacja formularza. I teraz pytanie, można jakoś zapobiec nadpisaniu tej zmiennej przy odświeżeniu? Jak zapamiętać adres ze strony która została przekierowana?
nowotny
Zapisz sobie tą zmienną w sesji...
!*!
jak skoro przy odświeżeniu sesja i tak się nadpisze.

  1. <?php
  2. $test2 = $_SERVER["HTTP_REFERER"];
  3. $test = $_SESSION['test2'] = $test2;
  4.  
  5. echo 'adres do zapamiętania: '.$test.' ';
  6. echo '<br /><br /><br /><br />adres zxczxc34a: '.$_SESSION['test2'].' ';
  7. ?>
nowotny
No to dodaj sobie odpowiednie sprawdzacze... jejq... troche pomyślunku... :/
!*!
Tak wiem o tym nowotny... Tylko nie wiem jak mają wyglądać takie ify skoro za kazdym razem zmienna jest napisywana gdy jest wywoływany plik.
Maxik
  1. <?php
  2. if(!isset($_SESSION['test2'])){
  3. $test = $_SESSION['test2'] = $test2;
  4. }
  5. ?>


Logika...
!*!
I sesja jest stała zaraz po przekierowaniu ponownie

  1. <?php
  2. $test2 = $_SERVER["HTTP_REFERER"];
  3.  
  4. if(!isset($_SESSION['test2'])){
  5. $test = $_SESSION['test2'] = $test2;
  6.  
  7. }
  8. ?>


wykonuję po poprawnym wpisaniu, tak aby gdy znowu wywoła sie nowy inny link 5 razy, zmieniała się sesja, ale coś nie wychodzi.
  1. <?php
  2. unset($_SESSION['test2']);
  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.