Abs*_*Abs 2 php variables session serialization
我正在使用seralize和unseralize来设置和获取我的数据库中的会话变量.
用户在会话中并且每次单击保存.我这样做:
$array = serialize($_SESSION);
//and save to DB field
Run Code Online (Sandbox Code Playgroud)
当用户加载会话时,我也加载变量以继续该会话,如下所示:
//get row from DB
$_SESSION = unserialize($row['session_variables']);
Run Code Online (Sandbox Code Playgroud)
这对我不起作用.它首先不会取消分离,因为当我执行以下操作时返回类似的内容print_r($_SESSION):
Array (
[user_id] => test2
[date_created] =>
[date_updated] =>
[session_variables] => a:9:{s:7:"user_id";s:5:"test2";s:12:"date_created";N;s:12:"date_updated";N;s:17:"session_variables";s:149:"a:6:{s:7:"user_id";s:5:"test2";s:4:"here";s:2:"12";s:5:"here2";s:6:"112432";s:5:"here3";s:6:"132432";s:5:"here4";s:4:"1qw2";s:5:"here5";s:5:"1wqe2";}";s:4:"here";s:2:"12";s:5:"here2";s:6:"112432";s:5:"here3";s:6:"132432";s:5:"here4";s:4:"1qw2";s:5:"here5";s:5:"1wqe2";}
[here] => 12
[here2] => 112432
[here3] => 132432
[here4] => 1qw2
[here5] => 1wqe2
)
Run Code Online (Sandbox Code Playgroud)这些变量的session_id在不同的页面中使用在哪里?我写过了吗?
谢谢大家的帮助
session_id是否保存在全局$ _SESSION中?我猜不是.如果我取消设置$ _SESSION,这意味着会话不会只是变量,对吗?有人验证吗?
试试这个.
$array = base64_encode(serialize($_SESSION)); // going to the database
$_SESSION = unserialize(base64_decode($row['session_vars'])); // coming from the database
Run Code Online (Sandbox Code Playgroud)
通常情况下,MySQL不能很好地处理序列化数据,除非你对它进行base64_encode.看看是否有帮助.
| 归档时间: |
|
| 查看次数: |
3188 次 |
| 最近记录: |