php $_SESSION 问题
发布网友
发布时间:2022-04-18 01:03
我来回答
共1个回答
热心网友
时间:2022-04-18 02:33
HP中,session不能传递到下一个页面去,一般有两种情况:
我们先写个php文件:<?=phpinfo()?>, 传到服务器去看看服务器的参数配置。
转到session部分,看到session.use_trans_sid参数被设为了零。
这 个参数指定了是否启用透明SID支持,即session是否随着URL传递。我个人的理解是,一旦这个参数被设为0,那么每个URL都会启一个 session。这样后面页面就无法追踪得到前面一个页面的session,也就是我们所说的无法传递。两个页面在服务器端生成了两个session文 件,且无关联。(不知道这样理解对不对?请高手指教。)
所以一个办法是在配置文件php.ini里把session.use_trans_sid的值改成1。
当然我们知道,不是谁都有权限去改php的配置的,那么还有什么间接的解决办法呢?
下面就用两个实例来说明吧:
文件1 test1.php
<?php
//表明是使用用户ID为标识的session
session_id(SID);
//启动session
session_start();
//将session的name赋值为Havi
SESSION[′name′]=”Havi”;//输出session,并设置超链接到第二页test2.phpecho“<ahref=\”test2.php\”>”._SESSION['name'].”</a>”;
?>
文件2: test2.php