Cookie禁用使用Session值方法

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);

?>

时间: 2024-12-28 19:49:18

Cookie禁用使用Session值方法的相关文章

cookie编码乱码问题与cookie禁用后session操作

Cookie传输的值只能是ASCII码,该编码表相对老旧不含有很多符号与文字 特别是中文,所以在cookie传值过程中需要先转成相应的ASCII编码再解析 如下 URLEncoder.encode("小米", "utf-8") URLDecoder.decode(value,"utf-8") cookie禁用后无法使用cookie来传送session操作 所以需要通过url的方式进行传递 response.sendRedirect(respons

cookie禁用后session id传值的问题

上一篇说道session和cookie的关系,一般情况下session是借助于cookie传值的,那么cookie被禁用了,session怎么传id的值,下面介绍两种方法 经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面. 附加的方式也有两种,一种是作为URL路径的附加信息,另一种是作为查询字符串附加在URL后面.网络在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id. 当客户端浏览器中禁止 Cookie,Se

php在客户端禁用cookie时让session不失效的解决方法

cookie固然好,不过有些客户端浏览器会禁用cookie,这就会导致你所依赖cookies的程序会失效或出错,那么若真出现用户关闭cookies的情况,PHP应该如何再次使用session?方法还是有的. 1.设置php.ini的session.use_trans_sid = 1或者打开enable-trans-sid选项,让PHP自动跨页传递session id.2.手动通过URL传值.隐藏表单传递session id.3.用文件.数据库等形式保存session_id,在跨页过程中手动调用.

Cookie禁用了,Session还能用吗?

Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案.但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了. 是不是Cookie让禁用了,Session就一定不能用了呢? 1. ASP 在A

Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块

Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享,就是把东西存储在变量里可以打印预览,应用上下文包括 current_app模块和g模块 cookie方法增,查,删. 注:存储cookie时使用set_coooki方法存储key--calve形式数据,另一个参数max_age 是指定的存活时间. 调用cookie的方法是通过request模块的c

Yii框架操作cookie与session的方法实例详解

cookie操作 设置cookie ? 1 2 3 4 5 6 //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_cookies=array('name'=>'user','value'=>'doubly'); //添加cookie数据 $cookies->add(new Cookie($array_cookies)); 删除cookie ? 1 $

cookie机制和session机制的区别

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二.会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了.这种生命期为浏览会

Cookie客户端缓存.Session.Application

Cookie客户端缓存. 1.引言 随着浏览器的处理能力不断增强,越来越多的网站开始考虑将数据存储在「客户端」,那么久不得不谈本地存储了. 本地存储的好处: 一是避免取回数据前页面一片空白,如果不需要最新数据也可以减少向服务器的请求次数,从而减少用户等待从服务端获取数据的时间. 二是网络状态不佳时仍可以显示离线数据. 2.本地存储 用chrome浏览器打开一个网页,F12进入开发者模式,点击Application,我们可以看到: 以上的Local Stroage . Session Stroag

【转】PHP cookie禁用时session 方案

转载地址:PHP cookie禁用时session 方案 在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递.这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题.我认为,出现这个问题的原因有以下几点:1.客户端禁用了cookie2.浏览器出现问题,暂时无法存取cookie3.php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项 为什么会这样呢?下面我解释一下: Session储