Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: unserialize nie działa
Forum PHP.pl > Forum > PHP
lasca85
W jednym pliku tworzę przykładową tablicę, wrzucam ją do ciastka i przeskakuję do drugiego pliku:

  1. <?php
  2. $tablica = Array('pierwszy','drugi');
  3. $string = serialize( $tablica );
  4. setcookie( 'dane', $string, time()+30*86400 );
  5. header("Location: hym.php?".session_name()."=".session_id());
  6. ?>


W drugim z kolei:

  1. <?php
  2. if (isset($_COOKIE['dane'])) {
  3.  $string = $_COOKIE['dane'];
  4.  stripslashes($string);
  5.  $tabka = unserialize( $string );
  6.  echo $tabka[0];
  7. ?>


stripslashes dodałem kierujac się wskazówkami w jednym z wątków na tym forum, chociaż i tak nie pomogło. Wypisując brutalnie zawartość ciastka mam:

a:2:{i:0;s:8:\"pierwszy\";i:1;s:5:\"drugi\";}

ale echo $tabka[0]; nie wypisuje nic... Co robię nie tak?
nospor
z php5 ma to niewiele wspolnego. przenosze.

a probowales bez stripslashes?
lasca85
Cytat(nospor @ 31.05.2006, 22:13 ) *
z php5 ma to niewiele wspolnego. przenosze.

a probowales bez stripslashes?


Pardon, zagalopowałem się w schodzeniu w subfora. smile.gif Próbowałem... Nie mam pojęcia czemu to nie działa.

Uff. Zrobiłem coś takiego:

  1. <?php
  2. if (isset($_COOKIE['dane'])) {
  3.  $tablica = unserialize(stripslashes($_COOKIE['dane']));
  4.  echo $tablica[0]; }
  5. ?>


Działa. Widocznie owijanie to w jeszcze jedną zmienną było błędem.
nospor
hihi, ale ze mnie gapa, tez nie zauwazylem. w starym kodzie powinno byc tak:
$string = stripslashes($string);
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.