加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 原创教程 > PHP开发

PHP开发中如果客户端浏览器禁用Cookie情况下如何使用session功能?

时间:2011-11-30 05:49:40  来源:  作者:

 PHP开发中如果客户端浏览器禁用Cookie情况下如何使用session功能?

session(回话)是Web开发中必不可少的用于跟踪用户行为和状态的技术,默认情况下需要客户端浏览器激活cookie功能,session功能才能很好的工作。因为session需要使用浏览器cookie功能保存服务器创建的一个唯一的id号,作为session的唯一的id号来使用。

但是,要是浏览器禁用cookie的话如何使用session功能呢?

答案是需要通过某种方式在PHP页面见传递session的id号。下面的例子演示了使用get方法传递session的id号来使用session功能(前提是浏览器禁止cookie功能):

文件:1.php代码如下:

<?
session_start();           //激活session功能
$_SESSION["website"]="http://www.osedu.net";    //设置session变量
echo SID;                    //打印当前session的id号,SID是系统常量:表示session的id号        注意:如果浏览器允许cookie(session id被注册到cookie中)则此SID常量为空。
$sid=htmlspecialchars(SID);     //利用htmlspecialchars()函数将特殊符号转换
echo "<a href=2.php?".$sid.">2.php</a>";     //使用get方法传递session的id号,以便在2.php中使用此id号。
?>
 
文件:2.php的代码如下:
<?
session_id($_GET["PHPSESSID"]);//设置当前的session的id号为1.php传递的session ID号,否则的话连个页面就是两个回话,无法跟踪状态
session_start();     //激活session功能,一定要在session_id()函数后面,否则就又单独穿件了一个与1.php完全不同的session ID
echo SID;               //打印session id号,与上一个页面的完全一样,因为使用session_id()设置了。
echo $_SESSION["website"];    //打印session变量。
?>
 
本例使用了get方法,类似的使用post方法完全可以实现。
开源软件教育网原创,转载请注明出处!
http://www.osedu.net

 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
在CentOS下搭建Android 开发环境
在CentOS下搭建Androi
轻松搭建属于自己的Ubuntu发行版
轻松搭建属于自己的Ub
利用SUSE Studio 打造自己的个性化Linux发行版
利用SUSE Studio 打造
那些采用PHP技术的IT大企业
那些采用PHP技术的IT大
相关文章
栏目更新
栏目热门