因此,在阅读了CodeIgniter会话库的文档之后,我发现它相当令人困惑。
我的问题源于需要存储一些信息(文件名,产品ID和颜色ID数组)。我正在使用flashdata。
我收到了502错误。删除set_flashdata()
方法已经停止了,但我仍然需要发送数据。
根据我的理解,CI默认从超全局数组中擦除所有数据,因此我不能使用PHP原生会话。
此外,文档还说明了以下内容:
会话数组的一个有用方面是您可以添加自己的数据 它将存储在用户的cookie中
我发现这很令人困惑,PHP将会话ID存储在cookie中,并将会话数据存储在服务器上。 CI表示将自己的数据添加到cookie时意味着什么?
当然我想要这个功能我只是将数据存储在cookie中而不是使用会话?
此外,文档的另一部分说明:
Cookie只能容纳4KB的数据,因此请注意不要超过 容量。 加密过程特别会产生比原始数据字符串更长的数据字符串,因此请仔细跟踪存储的数据量。
他们是在谈论将我的数据存储在实际的Cookie中吗?还是在会议期间?我怎么知道我是否使用超过4KB的数据?这是每个flashdata会话?或者所有数据总数?
所以我的问题(作为要点)是:
userdata()
和flashdata()
方法可以存储不同数量的信息吗?我们将不胜感激。 非常感谢
答案 0 :(得分:2)
您似乎对会话甚至是什么或者Cookie与会话之间的区别感到困惑。
它被称为会话库和会话,因为它是服务器端会话
你知道php有一个错误日志,你有能力找到具体的错误,事实上这就是你应该做的。?
除非你试图滥用会话的目的,否则你会没事的
flashdata用于flash消息,userdata用于存储需要为其他目的检索的数据。即使回答你的问题也毫无意义。
位于文档的最顶层“注意:Session类不使用本机PHP会话。它会生成自己的会话数据,为开发人员提供更大的灵活性。”我会反对这一点,因为它没有用处。