PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
在 cookie 关闭的情况下,如何让我们的用户体验做的更好,session 的传递方式学习是很重要的,让一个数据能在多个页面中传递,感兴趣的小伙伴们可以参考一下
既然学习到了就做下笔记,解决数据的共享,在也不要担心,什么时候还要你自己手动去设置打开 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) 文件的形式
来源: http://www.phperz.com/article/17/0826/343478.html