开发php聊天室中关于session的有关问题
程序员文章站
2022-04-07 13:50:58
...
开发php聊天室中关于session的问题
概要:
通过Mysql+Apache+php 写 聊天室
其中有一个私聊的模块,每个用户登录的时候,保存当前用户的登录时间到数据库,session保存当前用户名,然后查询数据库中登录时间(最后活动时间)大于当前时间前两分钟的用户,遍历如果找到与session一样的用户,则判断为当前用户,显示用户名,否则显示一个链接用于私聊。
发送消息,每次发送后,更新当前用户登录时间(最后活动时间),整个聊天室界面用javascript自动更新
但是问题来了,启动两个浏览器,测试发现,每次发送完消息之后,两个浏览器的session都变成一样的了:session[username]为1的浏览器;session[username]为2的浏览器;2发送消息后,1和2的session[username]的是2,1发送消息后,1和2的session[username]的是1
我想问下,是不是php 的session只能一个时刻为一个值啊,这个测试是在同一机器上做的
------解决方案--------------------
你用的是什么浏览器?
------解决方案--------------------
session是保存在服务器的
你的思路可能存在问题
session方面的功能建议用mysql的memory引擎实现
概要:
通过Mysql+Apache+php 写 聊天室
其中有一个私聊的模块,每个用户登录的时候,保存当前用户的登录时间到数据库,session保存当前用户名,然后查询数据库中登录时间(最后活动时间)大于当前时间前两分钟的用户,遍历如果找到与session一样的用户,则判断为当前用户,显示用户名,否则显示一个链接用于私聊。
发送消息,每次发送后,更新当前用户登录时间(最后活动时间),整个聊天室界面用javascript自动更新
但是问题来了,启动两个浏览器,测试发现,每次发送完消息之后,两个浏览器的session都变成一样的了:session[username]为1的浏览器;session[username]为2的浏览器;2发送消息后,1和2的session[username]的是2,1发送消息后,1和2的session[username]的是1
我想问下,是不是php 的session只能一个时刻为一个值啊,这个测试是在同一机器上做的
------解决方案--------------------
你用的是什么浏览器?
------解决方案--------------------
session是保存在服务器的
你的思路可能存在问题
session方面的功能建议用mysql的memory引擎实现
相关文章
相关视频