Session:用于表示特定Web浏览器和服务器之间的一系列的HTTP请求和响应
HTTP不支持session的概念,但是PHP\SAP.NET和多数Web语言都支持session
cookie和Session的区别:
Session通常建立在cookie之上:
客户端存储的唯一数据是持有唯一Session ID 的cookie(Session ID 的存储形式是cookie)
在每个页面请求中。客户端发送其session ID cookie,服务器使用此来查找和检索客户端的会话
Session是如何建立的
session_start();
session_start表示脚本需要与用户进行会话
调用的规则:
session_destroy()——删除和当前session有关的所有数据
-
- session_destroy();
- session_regenerate_id(TRUE);#刷新id号
- session_start();
-
- ?>
session_id()——返回当前session的ID号
session_regenerate_id() session_regenerate_id(boolean)
——使用新ID替换当前的session ID;如果传递参数TRUE,也可以擦除与session关联的任何数据
session_save_path() session_save_path("directory")
——获取/设置存储在服务器上的session数据的文件夹名称(也可以在php.ini文件中设置)
session_start()——为当前客户端启动新的session;如果session已经在进行中,则无需处理
-
- print $_SESSION["name"];#undefined
-
- session_start();#重新加载现有会话
-
- print $_SESSION["name"];//
-
- ?>
-
- session_destroy();
- session_regenerate_id(TRUE);
- session_start();
-
- ?>
session_status()——返回当前服务器上启用或禁用session支持的信息
session_unset()——释放当前注册的所有session变量
模板(先存 然后读 检查 释放 )
$_SESSION联合数组读取/存储所有session数据
使用isset函数查看给定的值是否在session中
- $_SESSION["name"]=value;//存取session数据
- $variable=$_SESSION["name"];//读取session数据
- if(isset($_SESSION["name"])){...}//检查session数据
- unset($_SESSION["name"]) ; //删除session数据
-
-
- ?>
示例
- if(isset($_SESSION["point"])){
- $point=$_SESSION["point"];//读取session数据
- print("you've earned $point points")
- }else{//检查session数据
- $_SESSION["point"]=0;//存取session数据
- }
-
- ?>
可以在PHP服务器中设置session_cache_expire函数进行调整
也可通过session_destroy显示删除会话