почему-то не работает session_decode

chama

Новичок
почему-то не работает session_decode

переменная se содржит следующее: user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2"
но когда провожу следующую функцию:session_decode($se); не восстанвливется значения пременных ни $user_id ни expert ни login ни stamp.
 

tony2001

TeaM PHPClub
неправда.
session_decode() возвращает это:
"user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2";"
, а не это:
"user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2"
 

chama

Новичок
да в действительности возвращает
user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2";
но только не session_decode(), а session_encode()
 

chama

Новичок
но проблема от этого не решается. Я просто не правильно скопировал вывод в форум.
 

tony2001

TeaM PHPClub
PHP:
session_start();
$_SESSION=Array();
var_dump(session_decode('user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2";'));
var_dump($_SESSION);
?
 

chama

Новичок
о session_decode() говорит null
а о $_session выводит дамп информации
точне выодит:
NULL array(5) { ["user_id"]=> string(2) "32" ["login"]=> string(5) "chama" ["expert"]=> string(1) "0" ["discount"]=> string(1) "0" ["stamp"]=> string(10) "r=48f070e2" }
 

Фанат

oncle terrible
Команда форума
щас выяснится, что строка, оказывается, между кодированием и декодированием побывала в файле. или куках :)
НО виновата при этом - исключительно функция decode :)
 

chama

Новичок
Нет. Буквальный код
session_start();
$se=session_encode();
session_decode($se);
 

SiMM

Новичок
Автор оригинала: chama
Буквальный код
Хватит уже беллетристики
PHP:
session_start();
$_SESSION=array('user_id' =>'32',
                'login'   =>'chama',
                'expert'  =>'0',
                'discount'=>'0',
                'stamp'   =>'r=48f070e2');
$se=session_encode();
$_SESSION=array();
print_r($_SESSION);
session_decode($se);
print_r($_SESSION);
работает так, как и ожидается - разбирайся в своём "буквальном" коде самостоятельно - PHP FAQ: Ничего не работает! Что делать???
 

chama

Новичок
То что ты написал можно было заменить $_SESSION=array('user_id' =>'32',
'login' =>'chama',
'expert' =>'0',
'discount'=>'0',
'stamp' =>'r=48f070e2');
print_r($_SESSION);
Пользы обсолютно никакой и не по сути. Если нет желание отвечать, незачем срываться на других.

-~{}~ 12.10.04 14:30:

А вообще это может возникать из-за того, что версия php 4.2.1 довольно старая?
 

SiMM

Новичок
Для жителей крайнего сервера, неприученных к самостоятельности:
PHP:
// 1.php
session_start();
$_SESSION=array('user_id' =>'32',
                'login'   =>'chama',
                'expert'  =>'0',
                'discount'=>'0',
                'stamp'   =>'r=48f070e2');
$fp=fopen('se','wb');
fputs($fp,session_encode());
PHP:
// 2.php
session_start();
$fp=fopen('se','rb');
session_decode(fgets($fp));
print_r($_SESSION);
А вообще это может возникать из-за того, что версия php 4.2.1 довольно старая?
[m]session_encode[/m], [m]session_decode[/m], а вопросы по столь древним версиям задавать, думаю, неуместно - врядли кто вспомнит особенности антиквариата.
 

chama

Новичок
что изменится если оставить в 2.php
session_start();
print_r($_SESSION);
то же самое выведет
Array ( [user_id] => 32 [login] => chama [expert] => 0 [discount] => 0 [stamp] => r=48f070e2 )

-~{}~ 12.10.04 15:39:

А может это возникать из-за того что register globals выключены?
 

SiMM

Новичок
chama, хватит уже тормозить - я не намерен и дальше кормить тебя с ложечки, как это делал на протяжении двух предыдущих постов. Если у тебя что-то не работает, то в этом виноват только ты сам, продолжать тебе доказывать, что во всём виноваты не разработчики PHP, а твой кривой код, который ты даже постеснялся привести, я не буду - это твои проблемы.
 

chama

Новичок
в 1.php
session_start();
session_register("user_id");
session_register("user_name");
session_register("f_name");
session_register("login");
session_register("expert");
session_register("discount");
session_register("stamp");
В 2.php
session_start();
$se=session_encode();
session_decode($se);

причём в $se записывается user_id|s:2:"32";login|s:5:"chama";expert|s:1:"0";discount|s:1:"0";stamp|s:10:"r=48f070e2";(я проверял)
а логин echo $login; не хочет вывоводить.
 

chama

Новичок
я толькочто проверил так и есть при включенном работает при выключенном нет. Но делалось это всё как раз что бы их выключить.
 
Сверху