1. PHP Session 在您把用户信息存储到 PHP session 中以前,首先必须启动会话。注释:session_start() 函数必须位于 <html> 标签以前:php
<?php session_start(); ?> <html> <body> </body> </html>
上面的代码会向服务器注册用户的会话,以便您能够开始保存用户信息,同时会为用户会话分配一个 UID。html
2. 存储 Session 变量 存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:数组
<?php session_start(); // 存储 session 数据 $_SESSION['views']=1; ?> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <?php // 检索 session 数据 echo "浏览量:". $_SESSION['views']; ?> </body> </html>
输出结果:服务器
浏览量:1
在下面的实例中,咱们建立了一个简单的 page-view 计数器。isset() 函数检测是否已设置 "views" 变量。若是已设置 "views" 变量,咱们累加计数器。若是 "views" 不存在,则建立 "views" 变量,并把它设置为 1:cookie
3. 销毁 Session session
若是您但愿删除某些 session 数据,可使用 unset() 或 session_destroy() 函数。dom
unset() 函数用于释放指定的 session 变量函数
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?>
您也能够经过调用 session_destroy() 函数完全销毁 session:this
<?php session_destroy(); ?>
1. 保存session信息spa
index1.php
<?php session_start(); $_SESSION['name'] = "zhangsan";
index2.php
<?php session_start(); echo $_SESSION['name'];
先在网页中运行index1.php,而后再运行index2.php页面输出:string(8)“zhangsan”
2. session能够保存多种数据类型
index1.php
<?php session_start(); $_SESSION['name']='zhangsan'; $_SESSION['age'] = 12; $_SESSION['isboy'] =true; $arr1=array('北京','小明','hello'); $_SESSION['arr1'] = $arr1; class Dog{ private $name; private $age; private $intro; function __construct($name,$age,$intro){ $this->name = $name; $this->age = $age; $this->intro = $intro; } } $dog1 = new Dog("大黄",2,"很听话"); $_SESSION['dog1'] = $dog1;
index2.php
<?php session_start(); foreach($_SESSION as $key=>$value){ echo $key.":"; var_dump($value); echo "<br>"; }
先在网页中运行index1.php,再运行index2.php页面输出:
name:
D:\zhangmengli\demo\my.php:5:string 'zhangsan' (length=8)
age:
D:\zhangmengli\demo\my.php:5:int 12
isboy:
D:\zhangmengli\demo\my.php:5:boolean true
arr1:
D:\zhangmengli\demo\my.php:5:
array (size=3)
0 => string '北京' (length=6)
1 => string '小明' (length=6)
2 => string 'hello' (length=5)
dog1:
D:\zhangmengli\demo\my.php:5:
object(__PHP_Incomplete_Class)[1]
public '__PHP_Incomplete_Class_Name' => string 'Dog' (length=3)
private 'name' (Dog) => string '大黄' (length=6)
private 'age' (Dog) => int 2
private 'intro' (Dog) => string '很听话' (length=9)
3. 获取session信息
(1)直接获取全部session
(2)根据key获取
a)直接获取某个变量
b)获取数组
c)获取对象,session在保存对象时候,无法保存类的信息,所以在获取对象,须要先声明这个类。能够把类单独做为一个文件,存储和读取session时候分别引用这个文件。
4. Session的删除
(1) 指定删除session中某个键值对
(2) 删除全部session
1. setcookie : setcookie() 函数向客户端发送一个 HTTP cookie。语法: setcookie(name,value,expire,path,domain,secure)
<?php $value = 'my cookie value'; setcookie('testcookie',$value,time()+3600*24); ?>
提示:能够经过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。
2. 经过把失效日期设置为过去的日期/时间,删除一个 cookie:
<?php // Set the expiration date to one hour ago setcookie ("TestCookie", "", time() - 3600); ?>
3. 建立一个数组 cookie:
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); if( isset($_COOKIE["cookie"]) ) { foreach($_COOKIE["cookie"] as $name => $value) { echo "$name:$value <br>"; } } ?>
输出结果为:
three:cookiethree two:cookietwo one:cookieone