关于session和cookie

hanxianglin 2010-02-01 12:06:04
前几天刚学过session,为了session变量我听了两遍课,session可谓PHP中最难得一块了,学的不算太好,希望这几天能够多多练习练习,各位如果在学习和使用session变量方面有注意和领悟的地方欢迎告诉我,session讲了以后老师还给我们讲了一个sessionid,听的我很费劲才弄明白,最后才讲到cookie,英文翻译成小甜饼,我对这两个变量还不是太了解,有对这几个变量理解领悟很深的说出来分享一下吧!
...全文
261 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hanxianglin 的回复:]
那得看什么浏览器了,要是IE6.0,重开一个浏览器,如果是超级链接跳转过去的,不会失效,只有点了注销才会失效,二十分钟以后(通常是这么个时间)也会失效。把浏览器关了session确实失效了,但却真的存在,失效时另一回事。清除session用session_unregister(“session变量名");也就是我们看到的注销。方法所以在打开另一个浏览器的时候但是session变量确实存在,如果长时间不用session变量会自动消失,通常二十分钟,比如邮箱,再比如网上银行。
新开一个浏览器,session变量确实失效。但是只有注销掉才会消失。
[/Quote]

觉得你的理解没问题,不知道你为什么说自己"不太了解"

不过session_unregister这个函数现在已不提倡用,并会在6.0里删除,详细见手册:
http://php.net/manual/en/function.session-unregister.php
hanxianglin 2010-02-02
  • 打赏
  • 举报
回复
打错字了,抱歉。
hanxianglin 2010-02-02
  • 打赏
  • 举报
回复
session二十分钟(一般情况下)以后自动清除,可以手动设置PHP配置文件,与关闭浏览器无关,及时关闭浏览器,服务器也不知道,关了电脑走人也没用。
wolftrace 2010-02-02
  • 打赏
  • 举报
回复
phpsessionid是保存在cookie中的吧,书上是这么说的
mykelly6 2010-02-02
  • 打赏
  • 举报
回复
session的生命周期是可以自己设的,默认是用户关闭浏览器后就会清除掉,不过貌似不是那么及时
belovepoll 2010-02-02
  • 打赏
  • 举报
回复
2#不错,赞一个!
hanxianglin 2010-02-02
  • 打赏
  • 举报
回复
服务器发过来的sessionid是存在cookie中的,正确!
hanxianglin 2010-02-01
  • 打赏
  • 举报
回复
session不仅仅是关闭浏览器就清除掉,他会在服务器端存放一般二十分钟的时间,如果是Apache服务器可能不是这个时间,不过可以人为的去设定。对于关掉浏览器session变量会清除这个说法是完全错误的,session变量会保存在服务器端与浏览器关不关闭无关,除非人为地在注销掉账号。对于cookie,则像我们登录CSDN账号一样,如果我们对于复选框可以在两周内不用登录,则cookie变量会在本电脑保存两周的时间,在这两周的任何时间都可以打开论坛进行一系列的操作,如果不选中复选框,则没有这个功能,如果想人为地删除一个cookie,在windowsXP系统上可以删除一个文件,在windows7系统上我和老师还没找到这个文件,不过在浏览器端可以人为地删除,点击菜单栏工具按钮,有一个Internet选项,在常规中有一个删除选项,其中就包括删除电脑中cookie这个文件。谢谢分享。
junlinzhi 2010-02-01
  • 打赏
  • 举报
回复
session是保存在服务器端的,用户关闭浏览器后就会清除掉,用SESSION之前页面不能有任何输出,否则会报错。COOKIE保存是客户机上的,一般用于用户长时间保存登录信息,下次打开页面不用再次登录。
hanxianglin 2010-02-01
  • 打赏
  • 举报
回复
刚学PHP希望大家多多指教。谢谢各位!
hanxianglin 2010-02-01
  • 打赏
  • 举报
回复
那得看什么浏览器了,要是IE6.0,重开一个浏览器,如果是超级链接跳转过去的,不会失效,只有点了注销才会失效,二十分钟以后(通常是这么个时间)也会失效。把浏览器关了session确实失效了,但却真的存在,失效时另一回事。清除session用session_unregister(“session变量名");也就是我们看到的注销。方法所以在打开另一个浏览器的时候但是session变量确实存在,如果长时间不用session变量会自动消失,通常二十分钟,比如邮箱,再比如网上银行。
新开一个浏览器,session变量确实失效。但是只有注销掉才会消失。
chekey 2010-02-01
  • 打赏
  • 举报
回复
重新学习!
Jnthts 2010-02-01
  • 打赏
  • 举报
回复
了解session没有这么费事吧.

session变量的数据保存在服务器上,cookie变量的数据保存在浏览器的客户端上。基于安全、效率和可用性上的考虑,大多数情况下应使用session保存页面之间所需传递的变量。

但session也不是与cookei没有一点儿关系的,这个关系就是sessionid,它就是一个cookie变量或其他(这个你可以不必过于深究),用于对应和恢复浏览器每次访问时保存在session中的变量。
张吉Jerry 2010-02-01
  • 打赏
  • 举报
回复
session在浏览器关闭后就会失效,用户无法对其做任何操作;
cookie不会因浏览器关闭而失效,程序中可以设置它的过期时间,用户也可以手工删除。
hanxianglin 2010-02-01
  • 打赏
  • 举报
回复
明白,估计得领会一段时间了。
ghostwsu 2010-02-01
  • 打赏
  • 举报
回复
http://blog.chinaunix.net/u/27731/showart_259031.html
fxs_2008 2010-02-01
  • 打赏
  • 举报
回复
这个问题,也算是所有web应用的核心内容之一
因为涉及登录验证和性能
一般只能会用就行了

深究,查资料吧,许多大公司大网站的phper和架构师,对cookie和session的区别和灵活应用也不怎么了解



21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧