PHP 17.45 基于URL传递的session的ID

  one.php

<?php
//开启会话session(cookie不用)
//session_start()前面不能有任何输出, 这个函数向客户端发一个session_id保存在cookie中
// 还在服务器中创建一个和保存在客户端同名的session文件(文本)
// 调度PHP的机制使用session
$sid=!empty($_GET[session_name()])? $_GET[session_name()]:'';
session_id($sid); //把上面的session——id 赋给他
session_start();


//使用$_SESSION这个数组


$_SESSION['username']="meizi";
$_SESSION['age']=18;
$_SESSION['sex']="nv";
$_SESSION['aaaaaaaa']="bbbbbbbbbbbbbbb";
$_SESSION['lx']['email']="mz@aaa.com";
$_SESSION['lx']['phone']='119';


echo session_name()." = ".session_id()."<br>";
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- 通过url 传递session id -->
<a href="one.php?<?php echo session_name()."=".session_id()?>">one</a>
<a href="two.php? <?php echo session_name()."=".session_id(); ?>">two</a>
<a href="three.php? <?php echo session_name()."=".session_id(); ?>">exit</a>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

two.php

 

<?php
//开启session
//
// 1. 判断客户端是否有了sessionid 变量名为PHPSESSID, 直接使用这个session id开启会话
// 也不新创建文件了, 直接找这个同名session id的session文件

$sid=!empty($_GET[session_name()])? $_GET[session_name()]:'';
session_id($sid); //把上面的session——id 赋给他

session_start();

echo '<br>';
print_r($_SESSION);
echo '<br>';

echo '<br>';


echo session_name()." = ".session_id()."<br>";

// setCookie();
?>


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href="one.php?<?php echo session_name()."=".session_id()?>">one</a>
<a href="two.php? <?php echo session_name()."=".session_id(); ?>">two</a>
<a href="three.php? <?php echo session_name()."=".session_id(); ?>">exit</a>
</body>
</html>

posted @ 2016-08-18 07:30  6月6日暗  阅读(1688)  评论(0编辑  收藏  举报