好吧,我有一个新项目,我之前没有做过类似的事情,但到目前为止还不错。我需要将一些数据从一个页面传递到另一个页面,并且传递的数据量没有限制。
起初,我正在考虑发布它,然后当每个页面加载时,只需获取POST数据,并将其存储在一个数组中,但对我来说这听起来有点过于复杂或者是什么我的东西想做。
然后我想到了HTML5和localStorage,但由于localStorage存在限制,而且大多数用户浏览器仍然不支持它(即我的大多数客户端客户浏览器),那就是在这一点上,这是一个很大的不可。
所以,现在我完全没有想法了。
这是我正在尝试做的事情,对我来说听起来很简单,但我无法弄清楚如何去做:
在任何给定页面上,可能有超过一百个链接,每个链接代表产品名称或产品信息,如果他们点击这些链接,然后移到另一个页面,然后有关他们点击的产品名称的信息将跟随他们到新页面,然后在新页面上发生同样的事情,如果他们再次点击其中一个链接,那么新信息将被添加到现有信息,并传递给他们访问的新页面。
我想你可以说它的工作方式几乎就像购物车一样,如果用户添加到购物车,他们的购物车及其中的所有数据都会跟随他们直接进入结帐。
我会感激任何帮助吗?
答案 0 :(得分:3)
您正在寻找sessions。有一个限制,你不应该在会话文件中存储无限量的数据;更好地创建以会话ID命名的临时文件,或将数据存储在数据库中。
或者,您也可以实施custom session handler。
无论哪种方式,Sessions都是在同一用户的页面请求之间保持状态的标准方式。
答案 1 :(得分:2)
您可以将数据存储在会话中,甚至存储在数据库表中(如果确实存在“无限制”)。
有关会话的更多信息,请参阅PHP在线文档中的Session Handling。
答案 2 :(得分:1)
你要找的是php sessions。
答案 3 :(得分:1)
我认为你真的想为此目的使用数据库。每个页面在用户点击时将数据从数据库中提取出来。我保证,对于数据库中的大约一百个对象,从每个新页面访问数据库的时间比用户浏览器的往返HTTP时间小一个数量级。
答案 4 :(得分:0)
是的,出于您的目的,您应该使用sessions,我同意其他用户。
但请记住:会话过期。如果您正在寻找持久解决方案,则可以使用serialization和unserialization存储PHP对象(变量,数组,对象实例等)。使用此方法,您可以将对象以纯文本形式存储在任何位置(例如DBMS),并随时恢复它们。如果你正在处理对象,你也可以使用魔法methods __sleep() and __wake()。