Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesje - gubienie sesji
Forum PHP.pl > Forum > Przedszkole
loco71
Witam.
Mam problem z sesjami. Wszystko wygląda ok, lecz po przejściu do trzeciego pliku od zainicjowania zmiennej sesyjnej, traci ona wartość.

Pierwszy plik. Inicjacja zmiennej sesyjnej "inicjuj".
  1. <?php
  2. if (!isset($_SESSION['inicjuj']))
  3. {
  4. $_SESSION['inicjuj'] = true;
  5. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  6. echo '<a href="_first.php" ><input type="button" value="NEXT" /></a>';
  7. }
  8. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  9. {
  10. die('Proba przejecia sesji udaremniona!');
  11. }
  12. ?>


Drugi plik. Pierwsze sprawdzenie warunku. Przechodzi bez problemu.
  1. <?php
  2. if(isset($_SESSION['inicjuj']) && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'])
  3. {
  4. echo 'Dobrze<br>';
  5. echo '<a href="_second.php" ><input type="button" value="NEXT" /></a>';
  6. }
  7. else{
  8. echo 'Coś poszło nie tak';
  9. }
  10. ?>


Trzeci plik. Sprawdzanie warunku nie przechodzi pomyślnie.
  1. <?php
  2. if(isset($_SESSION['inicjuj']) && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'])
  3. {
  4. echo 'Dobrze<br>';
  5. }
  6. else{
  7. echo 'Coś poszło nie tak';
  8. }
  9. ?>


Z góry dziekuje za podpowiedz.
erix
Sprawdź sobie, czy wszędzie masz ten sam identyfikator sesji.
loco71
PHPSESSID zwracane przez session_id() zaraz po zainicjowaniu zmiennej sesyjnej jest identyczne z tym przekazywanym w URL do następnego pliku.

  1. $_SESSION['inicjuj'] = true;
  2. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  3. echo session_id().'<br>';
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.