1、设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项,让PHP自动跨页传递session id。
2、手动通过URL传值、隐藏表单传递session id。
3、用文件、数据库等形式保存session_id,在跨页过程中手动调用。
下面举例说明:
第一种情况:
page1.php
<?php
session_start();
$_SESSION[‘var1’]=”中华人民共和国“;
$url=”<a href=”.”/”s2.php/”>下一页</a>”;
echo $url;
?>
page2.php
<?php
session_start();
echo “传递的session变量var1的值为:“.$_SESSION[‘var1’];
?>
运行以上代码,在客户端cookie正常的情况下,应该可以在得到结果“中华人民共和国”。
现在你手动关闭客户端的cookie,再运行,可能得不到结果了吧。如果得不到结果,再“设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项”,又得到结果“中华人民共和国”
第二种途径:
s1.php
<?php
session_start();
$_SESSION[‘var1’]=”中华人民共和国“;
$sn = session_id();
$url=”<a href=”.”/”s2.php?s=”.$sn.”/”>下一页</a>”; //PHP5定义了一个常量SID来表示session_id(),$url还可以写成$url='<a href=”page2.php?’ . SID . ‘”>下一页</a>’;
echo $url;
?>
s2.php
<?php
session_id($_GET[‘s’]);
session_start();
echo “传递的session变量var1的值为:“.$_SESSION[‘var1’];
?>