首页 > 后端开发 > php教程 > 很着急:对Session的疑惑

很着急:对Session的疑惑

WBOY
发布: 2016-06-06 20:43:20
原创
973 人浏览过

<code class="lang-php"><?php /**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 14-8-29
 * Time: 下午2:02
 */ 

 session_start();
 $_SESSION['username']='hello';

 print_r($_SESSION);
</code></code>
登录后复制
登录后复制

打印出Array ( [username] => hello)
然后在index.php同一个文件夹下面建立了1.php

<code class="lang-php"><?php /**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 14-8-29
 * Time: 下午2:02
 */ 

 print_r($_SESSION['username']);
</code></code>
登录后复制
登录后复制

出现了Notice: Undefined variable: _SESSION in C:\xampp\htdocs\phpstrom\0823\1.php on line 12
加上
session_start();
然后就打印出hello
难道每一个页面都要使用session_start吗?
不能直接使用吗?

回复内容:

<code class="lang-php"><?php /**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 14-8-29
 * Time: 下午2:02
 */ 

 session_start();
 $_SESSION['username']='hello';

 print_r($_SESSION);
</code></code>
登录后复制
登录后复制

打印出Array ( [username] => hello)
然后在index.php同一个文件夹下面建立了1.php

<code class="lang-php"><?php /**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 14-8-29
 * Time: 下午2:02
 */ 

 print_r($_SESSION['username']);
</code></code>
登录后复制
登录后复制

出现了Notice: Undefined variable: _SESSION in C:\xampp\htdocs\phpstrom\0823\1.php on line 12
加上
session_start();
然后就打印出hello
难道每一个页面都要使用session_start吗?
不能直接使用吗?

是的。在你用到 session 的时候,都需要使用 session_start。

你可以在通用包含文件(如配置文件等)中使用 session_start(); 这样每个页面都自动开启session 。

  1. php 中 session的实现是给每个session 分配一个唯一id,称作session_id。这个id默认通过cookie存在客户端,cookie的name可能会叫做 PHPSESSID ,可以通过 session.name 配置。
  2. 调用 session_start()时, php就会解析 PHPSESSID的值,拿到ID。根据ID去取session的值。
    session值默认是文件存放在 session.save_path目录下。
  3. 对session 配置操作的函数比如 session_name()session_set_cookie_params()session_save_path() 都要在session_start() 前调用, 不然php 无法解析session的值。

所以要想使用session必须在每次访问前调用 session_start()
session系列函数:http://php.net/manual/zh/ref.session.php,还可以再看下 php.ini中 session部分的配置

php所有需要用到$_SESSION变量的页面都必须先session_start()
这个函数负责初始化这个变量,具体干的事情就是从cookie里读取sessionid,然后从存储里取出session反序列化赋值给$_SESSION

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板