Cookie禁用使用Session值方法

本文介绍当客户端禁用Cookie时如何配置PHP以使用Session ID进行跨页面传递的方法。通过调整php.ini配置文件中的session.use_trans_sid和session.use_only_cookie参数,可以实现在URL中自动携带Session ID的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie禁用使用Session值方法:


首先:

       PHP中的Session在默认情况下是使用客户端的Cookie来保存Session ID的,所以当客户端的cookie出现问题的时候就会影响Session了。必须注意的是:Session不一定必须依赖Cookie,这也是Session相比Cookie的实用之处。

当客户端的Cookie被禁用或出现问题时,PHP会自动把Session ID携带在在URL中,这样再通过Session ID就能跨页使用Session变量。

不是自带就能使用的,需要在配置文件中设置php.ini

1: session.use_trans_sid = 1   (是否在url使用sessionID,启用,可单独设置即可)

或 

2: 者打开“--enable-trans-sid”选项(让PHP自动携带Session ID,共享session值,可单独设置即可)

3: session.use_only_cookie=0  (是否仅使用cookie来保存sessionID,关闭这个特性,要结合1或2条件使用)


*当修改了设置条件值后,如果浏览器禁用了cookie,那么php会子在所有的a标签内增加sessionID传输



代码例子(禁用Cookie情况下):

leyangjun.php

<?php
           session_start();
           $_SESSION[’name’]="乐杨俊";
           $sn = session_id();
           $url="<a href="http://my.csdn.net/leyangjun/.""test2.php?id=".$sn."">共享Session</a>";
           echo $url;

 ?>

test2.php

 <?php
           session_id($_GET[’id’]);
           session_start();
           echo "共享Session变量name的值为:".$_SESSION[’name’];
 ?> 


例子二(不用连携带sessionID):

yangjun.php

<?php
           session_start();
           $_SESSION[’name’]="乐杨俊";
           $url="<a href="http://my.csdn.net/">共享Session2</a>"; //点击的时候注意看浏览其器左下角对应的值
           echo $url;

 ?>

lekey.php

 <?php
           session_start();
           var_dump($_SESSION);
 ?> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值