Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z sesjami
Forum PHP.pl > Forum > PHP
szef
Witam.
Robię stronę na serwerze klienta i zauważyłem tam dziwne zachowanie php. Gdy używam session_start() tworzy się pusty plik z sesją. Gdy używam:
  1. <?php
  2. $_SESSION['cos'] = 'aaa';
  3. ?>

tworzy się kolejny plik z sesją. Jednak gdy próbuję wyświetlić sesję nic się nie wyśwetla tak jakby był używany pusty plik utworzony podczas wywołania session_start() zamiast tego nowo utworzonego.
Gdy wyłączę session_regenerate_id() wszytsko działa.

jakieś sugestie?
nitek
odp przynosi manual:


4.3.3 Od tej wersji PHP, jeżeli ciasteczka sesji są aktywne, wywołanie session_regenerate_id() tworzy nowy identyfikator sesji z nowym ciasteczkiem.


wydaje mi się, że stąd to nowe - puste ciacho winksmiley.jpg
szef
Tylko to nie rozwiązuje mojego problemu. Skoro tworzy się nowe ciacho to powinno z niego korzystać a korzysta ze starego, ale dzięki za wkład smile.gif
nitek
no fakt - kolejny raz latam po forum późną pora winksmiley.jpg spróbuj może w ten sposób:
Kod
  session_regenerate_id(true);

Ten zapis według opisu niszczy starą sesje, czyli teoretycznie, automatycznie powinna zostać wykorzystana nowa, która i tak będzie zawierać wszyskie zmienne ze starej..
szef
Niestety nic nie pomaga nawet gdy dam session_regenerate_id(true). Ogólnie pobiegałem po googlach i jest to znany problem w wielu wersjach php jednak nigdzie nie znalazłem konkretnego rozwiązania.
netmare
może da się to zrobić ręcznie
  1. <?php
  2. $session=$_SESSION;
  3. unset($_COOKIE['PHPSESSID']);
  4. $_SESSION=$session;
  5. ?>


tyle że nie wiem czy session_start korzysta z $_COOKIE, czy też może jakąś inną drogą pozyskuje numer z ciastka
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.