php:基于cookie的会话

时间:2010-01-11 19:06:15

标签: php session cookies memcached

是否有任何机构有关于如何集成基于cookie的会话系统的任何信息/链接?我使用过file / mysql,目前正在使用memcached。我想玩apc会话,但我想我会去做一些饼干,只是我不太了解它。

我想我必须编写自己的会话处理程序类?

1 个答案:

答案 0 :(得分:5)

在PHP会话中,数据通常存储在一个文件中。存储在cookie中的唯一内容是会话标识符。当启用会话并找到有效的会话cookie时,PHP会将用户会话数据从文件加载到一个名为funnily的SESSION超级全局中。

在将任何文本发送到浏览器之前,使用session_start();启动基本会话。然后使用简单的数组索引例如。

将项目添加到会话对象或从会话对象中删除
$_SESSION['favcolour'] = 'blue'; 

...后

$favcolour = $_SESSION['favcolour'];
只需调用

即可创建

基本cookie会话(无本地存储)

 set_cookie('favcolour','blue'[,other params]);

在将任何文本发送到浏览器之前,然后从cookie超全局

中检索
$favcolour = $_COOKIE['favcolour'];

如果只进行cookie会话,则无需致电session_start()

可选[,其他参数]更高级,可在此处阅读http://www.php.net/manual/en/function.setcookie.php

会话可以成为一个非常复杂的讨论,我建议做一些简单的工作,然后扩展你的知识。

DC

你想知道的关于PHP会话的所有内容

http://www.php.net/manual/en/book.session.php

DC

要重用PHP的会话处理代码,您需要使用session_set_save_handler添加写处理程序,然后在该处理程序中完全不执行任何操作。那是因为它在关闭浏览器的输出后被调用,因此你无法向浏览器发送任何内容。

在将非标题数据写入浏览器之前,请使用set_cookie函数并将$ _SESSION数组的内容(在序列化和加密后)存储到cookie中。当应用程序启动时,您可以读取cookie,然后将其放入$ _SESSION数组中。

这是我从未做过的快速提示,我更喜欢写自己的cookie代码。可能会有一些问题,但一些测试应该找到任何问题并不难。

DC