php / mysql / wamp中的Cookie和会话问题

时间:2013-05-11 18:21:11

标签: php session cookies

我使用wamp在Windows 7机器上开发。对于这个应用程序,我有一个管理区域,用$ _SESSION跟踪管理员用户名和加密密码,以及跟踪随机生成的密码加密密钥的cookie。

我将cookie设置为:

setcookie('key', $key, time()+7200, 'admin/');

管理员用户输入用户名和密码详细信息后,在每个管理页面上运行管理员用户验证。

网站和管理员的目录结构是:

localhost/mysite/
locahost/mysite/admin/

会话在admin部分运行,会话也在前端的用户界面中运行,以跟踪所选的搜索条件。

当我在管理区域中运行长数据库查询时,即。多次更新和插入,每次迭代都需要连接到外部API,我无法在同一个浏览器中加载前端用户界面,即。 firefox直到管理操作完成后。如果我使用不同的浏览器即。 chrome,我可以在运行admin mysql函数的同时加载网站的前端而没有任何问题。

我希望在这些操作运行时查看该网站,并使用相同的浏览器。这是一个小问题,但我想知道如何绕过它,因为我想学习。我的意思是我可以告诉自己这没关系,因为当我打开另一个浏览器时该网站工作正常,并且最终用户无论如何都不会在查看网站时运行管理操作,所以从这个角度来看它不会无所谓,但我很好奇。

在管理操作运行期间阻止我查看网站的会话和Cookie是怎么回事?我的问题甚至是一个好问题吗?我的一部分认为这是一个愚蠢的问题,因为最终该网站在单独的浏览器中运行良好。无论如何,谢谢你的期待!

1 个答案:

答案 0 :(得分:2)

我认为你的会话被锁定了。在需要很长时间才能运行的页面上,在顶部添加:session_write_close();应该修复它。