首页 > php教程 > php手册 > 正文

Session是否必须依赖Cookie

php中文网
发布: 2016-06-13 10:03:01
原创
1041人浏览过

Session是否必须依赖Cookie?
www.ouryh.net    银河技术在线ㄕ整理时间:2001-8-7ㄕ作者: 不详 ㄕ来源: 不详 ㄕ阅读:36

PHP中的session可以默认情况下是使用客户端的Cookie(以便和普通意义上的Cookie区别,我称之为session cookie,普通意义上的Cookie为Cookie)来保存session id的,但是PHP中的session是否只能使用session cookie呢?当然不是,否则何必还弄个session出来,不如直接用Cookie算了.Session的一大优点就是当客户端的Cookie被禁用时会自动把session id附在URL中,这样再通过session id就能记住session变量了.
下面我写两个文件来证实一下,首先在浏览器中设置禁用Cookie.
//文件名为test1.php
session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
//文件名为test2.php
session_start();
if (session_is_registered("url")) {
echo "Congratulations.
";
$url="test1.php";
echo "goto test1.php
";
}
else echo "Failed.
";
?>
现在在浏览器中输入"http://localhost/test1.php",把鼠标移到链接上看看状态栏上的地址,不是简单的"http://localhost/test2.php",而是这种形式:"http://localhost/test2.php?PHPSESSID=6e3610749f7ded3784bc4a4dd10f879b".你还可以查看Html的源文件,源文件是这种形式:
goto test2.php
所以说这完全是PHP的功劳,和浏览器无关,也就是说无论你用什么浏览器session都有效,而不是有的人认为的只对IE有用.
但是,我们的超链接是语句是由echo语句输出的,如果超链接不包含在PHP的标签 ?>之内会怎样呢?还是写个例子来验证一下,把test1.php稍作修改:

session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
(Html形式)goto test2.php

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号