我最近进入了使用node.js扩展我的网站,并已实现我需要一个会话处理程序为我的PHP会话。现在一切都变得很酷并且很花哨,node.js读取了php会话,并且可以将它自己的会话传播给php。我正在使用数据库会话,因此会话数据被保存到数据库中的一个字段中。使用Javascript解析PHP会话
但是我发现了一个小问题。我正在尝试将会话数据读入node.js,它确实是一个很奇怪的字符串。我已经能够获取每个会话变量的strucutre到:
'field_name'|'type':'length':'value';
现在对某些字符串值字段可缺少其他字符串的长度可能会缺失(当变量为空)。该类型也可以比b,s,i多;它也可以是N(NULL)。
我原本以为一个JS的巨大翻译,但这只是某种程度上似乎是一个非常错误的方式来做到这一点。
有没有人试图在JS中提取php会话变量之前,有没有什么样的脚本可以帮助?也许有一个格式化的东西,我可以在PHP方面使用,使我的生活在node.js更容易吗?
编辑:架构的样子:
{ _id: { id: 'L:\u00c1\u009d\u008e\u00ad\u000e}<\u0002\u0000\u0000' }
, session_id: 'a2clfnjhopv1srs5k5elgbfjv5'
, user_id: 0
, session_data: 'logged|b:0;uid|i:0;server_key|N;AUTH_TIER2|b:0;email|s:0:"";cheese|s:6:"cheese";'
, active: 1
, expires: 1278920567
}
这是一个用户会话蒙戈DB记录。需要翻译的字段是session_data。当粘贴它时,会出现某种格式错误,因为当我尝试将其作为代码使用时,由于stackoverflow不会将其格式化为代码。
我试图JSONfy前场,但它失去了它的类型和没有读空条目等,所以我停止的
感谢,
我还没有和node.js中工作过。在将它传递给node.js之前,是否可以[PHP] _php.net/manual/en/function.json-encode.php PHP中的非序列化会话数据? – Gordon 2010-07-12 08:11:51
你可以显示一个例子而不是模式吗?缺少什么东西时它看起来如何? – galambalazs 2010-07-12 08:37:05
我添加了模式,虽然正如我所说的那样粘贴它时存在某种错误,并且stackoverflow不会将数据格式化为代码:(。galam,因为我也在编辑中声明我尝试过JSON,但它似乎打破了字符串使得它不可能检索会话数据:(。也许有一些东西在那,但是,如果我做一个节点字段并将会话数据复制到一个json字符串中...并为该字段创建一个dejsonifier .... hmmmm可以工作 – Sammaye 2010-07-12 09:10:24