[英]data between pages: $_SESSION vs. $_GET?
好的,首先,这不是关于表单,这是关于用户浏览网站时的一致布局。
让我解释:
如果我们想象一个(非ajax)数码相机在线商店,说有人在DSLR部分并指定以图库模式查看相机并按价格订购。 然后他们点击Compact相机的页面。 如果他们选择的“观点”我们被转移到这个新页面,那将符合用户的利益。
现在,我要说使用会话 - 我错了吗?
我是否应该注意一些小会话变量的性能问题(即view = 1,orderby = price)?
说到表演,两种解决方案都不应该有太多问题。
有些事情需要考虑:
我会说两者同时使用。 将其存储在会话中,但也将其放在页面的get参数中。
为什么? 通过这种方式,用户可以在页面之间携带他的选项,但是他们也在URL中,因此如果他将搜索结果发送给他的朋友,他的朋友就会以与他完全相同的方式看待他们。
不,通过将那些小变量放在那里,会话的性能不会降低。 除非您在会话中存储单片数组,否则加载会话的绝大部分时间都将从其存储介质(文件,数据库,内存缓存等)中读取它。
你应该在你的情况下使用GET。
Web开发中有一个简单的规则:每个包含不同内容的页面都必须拥有自己的地址。 因此,客户可以将任何页面保存到收藏夹中,然后将其发送到frend。 在底部是痛苦的,然后有人向您发送指向特定页面的链接,说“看!” 但网站使用框架,你登陆首页,不知道在哪里看。
您可以将用户的偏好保存到他的个人资料/ cookie(不是会话)中,但也应该反映在地址栏中。
用于完全不同目的的会话,购物车就是一个例子。
这是一个主观问题,无论哪种方式都可以。
我个人会选择会话,因为它不会干扰URL,所以人们可以根据需要为网址添加书签。
然而,对于那个问题的论点是,如果它们为它添加了书签,如果使用$ _SESSION完成,它们可能会看到不同的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.