php中cookie和session的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中cookie和session的问题相关的知识,希望对你有一定的参考价值。
前言:之前关于客户端cookie和服务端session的关系有点模糊,认为cookie禁用后session指定不能用了,通过验证后才发现自己的错误。
1:在php环境中的php.ini中有关session的设置值:
//处理session存取的模式 session.save_handler = files //session档案存放路径 session.save_path = /tmp //session使用cookie的功能,启动: 1 session.use_cookies = 1 //session名字 session.name = PHPSESSID //自动启动;0:关;1:开启 session.auto_start = 0 //session使用cookie的生存期,以秒为单位 session.cookie_lifetime = 0 这些默认值,不需要修改,就可以使用session了。 2:但是当我们得浏览器禁用cookie时,则会出现你认为的样子,session不能用。 此时我们应该在php.ini中再去研究一下发现 session.use_trans_sid = 1//这个字段允许SessionID通过URL明文传输 session.use_only_cookies = 1 ; // 开启仅使用cookies存放会话id 此时再去测试发现session又获取到了。 但当 session.use_only_cookies =0;时,无法获取到session的,在php.ini中这个值默认是0 3:代码:①当浏览器没有禁用cookie时: a.php: <?php session_start(); $_SESSION[‘url‘] = ‘ $url = "<a href=‘./b.php‘>下一个页面</a>"; echo $url; ?> b.php <?php session_start(); echo "session中url是:".$_SESSION[‘url‘]; ?> ②当浏览器禁用cookie后,并且设置php.ini中 session.use_trans_sid = 1//这个字段允许SessionID通过URL明文传输 session.use_only_cookies = 1; // 开启仅使用cookies存放会话id 代码: a.php <?php session_start(); $_SESSION[‘url‘] = ‘ $name = session_name(); $id = session_id(); $url = "<a href=‘./b.php?".$name."=".$id."‘>下一个页面</a>"; echo $url; ?> b.php <?php session_id($_GET[‘PHPSESSID‘]); session_start(); echo "session中url是:".$_SESSION[‘url‘]; ?>
以上是我对cookie和session的理解,如有不对,可以留言,一起学习,进步。
本文出自 “sfcoding” 博客,请务必保留此出处http://sunfeng.blog.51cto.com/11312994/1774427
以上是关于php中cookie和session的问题的主要内容,如果未能解决你的问题,请参考以下文章
C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段