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