php的session的几种传递方式

     今天刚好学习到了session这,突然想起,我们学校的狗血官网,总是如果你不手动设置接受cookie的话,好多正常的数据,就不能正常使用,所以既然学习到了就做下笔记,解决数据的共享,在也不要担心,什么时候还要你自己手动去设置打开cookie了!

(1)通过GET方式来传递session_id

    

<?php
$sid = "test";        //设置一个session的id
session_id($sid);     //将$sid的值当成是session_id,方便做测试
session_start();      //开启session
$_SESSION['user'] = "session的传递方式";
?>
<a href="session_3.php?sid=<?php echo session_id(); ?>">test_1.php</a>   //将session_id的值用GET传参的方式处理

//php配置文件的修改不同配置项的效果
session.use_only_cookies =      //关闭这个选项,就是允许通过get,自动生成session
<a href="session_3.php?PHPSESSID=<?php echo session_id(); ?>">test_1.php</a>
//这样写,可以省掉自己去通过$_GET去获取值

session.use_trans_sid = 1        //将这个选项打开,将自动的使用session_id
<a href="session_2.php">test_2.php</a>   //不需要加任何参数,

==================================================
<a href="session_3.php<?php echo "?".SID; ?>">test_1.php</a>这个的设置具体哪个有点忘记了反正SID就是一个常量,包含了所需要的内容session信息!

//session_3.php页面 
session_id($_GET['sid']);   //接受sesssion_id;
session_start();
var_dump($_SESSION);        //打印结果看下

结果如图:

(2)在表单中通过隐藏的值来传递

//前面的公共部分不变
//通过form表单中隐藏来传递
<form action="" method="post">
    姓名:<input type="text" name="uname">
    <input type="hidden" name="sid" value="<?php echo session_id(); ?>">
    <input type="submit" value="确定">
</form>

//session_4页面中
$sid = $_POST['sid'];
session_id($sid);
session_start();
var_dump($_SESSION);        //打印结果看下,结果都是一样能实现,就不再重复的输入结果数据

(3)文件的形式,等待更新!还在学习!

你可能感兴趣的:(PHP,session)