【发布时间】:2015-01-30 00:11:48
【问题描述】:
当我的用户登录我的系统时,我试图设置一个 cookie,我在密码和用户名经过身份验证后执行此操作。
setcookie('lb_login_id', $_SESSION['User']['id']);
现在是在这一点之后我的用户连接到套接字:
var socket = io.connect('http://mydomain.local' + ':' + 3000);
然后当用户连接时,我打印出 cookie 数据:
io.on('connection', function(socket){
console.log('a user connected');
console.log(socket.request.headers.cookie);
});
但是lb_login_id 值不在 cookie 中:
io=fP13ZJ4Lgk2UL2QmAAAA; PHPSESSID=257r236nn3a1ru0b8lf2ocuvh4; XDEBUG_SESSION=XDEBUG_ECLIPSE
谁能告诉我可能出了什么问题?
更新
调试后我可以看到,在我重定向到内部页面后,cookie 也从我的$_COOKIE array 中消失了?
【问题讨论】:
-
在尝试在 PHP 中设置 cookie 之前,您是否使用
session_start()? -
是的。并且会话变量正确保存在我的 $_SESSION
标签: javascript php node.js cookies socket.io