Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php 4.3.9 a sesje (unserialize?)
Forum PHP.pl > Forum > PHP
intol
Mam pytanie. Używam skryptu, w którym mam linijki typu

  1. <?php
  2. class A{
  3. var a;
  4.  function Get(){
  5.  $this = unserialize($_SESSION['A']);
  6.  }
  7. }
  8. ?>

itd., jakieś sesje. I mam takie ogólniekowe pytanie:
otórz zainstalowałem teraz zamiast php 4.x php 4.3.9 i gdzieś mi się sesje gubią(?) (jakoś niby działają, ale nie bardzo, moze tu chodzi o unserialize - choć to też działa?). Może ktoś miał taki problem, i wie co poradzić?
pillot
spróbuj:
  1. <?php
  2. class A{
  3. var a;
  4.  function Get(){
  5.  global $_SESSION;
  6.  $this = unserialize($_SESSION['A']);
  7.  }
  8. }
  9. ?>
bregovic
Nie przypisujcie niczego do $this w klasach - to zła praktyka, w zwiazku z tym że w PHP5 to jest już zabronione...
Pozatym pillot, $_SESSION jest superglobalną tablicą dostępna wszędzie, więc ten global nic nie robi.

Co do twojego problemu intol, to co to znaczy że wygasają? Pokaż jakiś kod, errory, coś więcej - to co pokazałeś powinno najakies 90% działać.
hawk
O w mordę. Przypisywanie czegoś do $this?! To nie jest nawet zła praktyka, to jest koszmar pijanego programisty.
pillot
oj oj tego this-a ni zauważyłem. dzięki za wskazówkę, cały czas się uczę.

a wracając do tematu: wątpię, czy ma jakieś komunikaty błędów przy znikających sesjach. też tak kiedyś miałem na php 4.3.2 (i nic nie wyskakiwało) ale nie naprawiałem problemu bo zaraz miałem i tak zmienić na 5 (i wszystko jest ok:))
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.