PHP會話技術-Session

來源:互聯網
上載者:User

Session 是服務端技術,利用這個技術,伺服器在運行時可以為每一個使用者的瀏覽器建立一個其獨享的session檔案,由於session為使用者瀏覽器獨享,所以使用者在訪問伺服器的web資源時,可以把各自的資料放在各自的session中,當使用者再去訪問伺服器中的其它web資源時(前提會話沒有結束),其他web資源再從使用者的各自session中取出資料為使用者服務。

Session 是最重要的使用者行為跟蹤技術(防止使用者非法登入/驗證碼等)。

預設情況下session檔案被儲存在C:/Windows/temp 目錄下。

下面是對session的CRUD的操作

1、建立session

<?php    //建立session    //初始化session    session_start();    //儲存資料    $_SESSION['name']="pawm";    //session 檔案中可以儲存dobule,integer,string,bool, array,object    //儲存bool integer    $_SESSION['age']=20;    $_SESSION['isBoy']=true;    $_SESSION['arr']=array("北京","張三","xiaoming");    //儲存對象到session 中    class Dog{        private $name;        private $age;        private $intro;        public function __construct($name,$age,$intro){                        $this->name=$name;            $this->age=$age;            $this->intro=$intro;        }    }    $dog1=new Dog("狗狗",5,"很聽話的狗");    $_SESSION['dog1']=$dog1;    echo "儲存成功";?>

 要點:

  1. 1、儲存的資料格式:name|s:4:"pawm";age|i:20;isBoy|b:1;

  name:就是key

  s:表示資料類型

  4:表示資料大小

  1. 2、session 中可以儲存的資料類型是:dobule,integer,string,bool, array,object

2、取出session操作

<?php        require_once "Dog.class.php";    echo "<pre>";    //使用到session的地方必須要初始化session    session_start();    //取出全部    print_r($_SESSION);    echo "</pre>";    //單個取出    //$name=$_SESSION['name'];    if(!empty($_SESSION['name'])){        echo "名字是:".$_SESSION['name'];    }else{        echo 'name沒有了<br>';    }    if(!empty($_SESSION['age'])){        echo "年齡是:".$_SESSION['age']."<br>";;    }else{        echo 'age沒有了<br>';    }    //echo $_SESSION['isBoy'];  //輸出1        if(!empty($_SESSION['arr'])){        $arr=$_SESSION['arr'];        foreach($arr as $key=>$val){            echo "$val";        }    }else{        echo 'arr沒有了<br>';    }    echo "<br>";    //取出對象的執行個體的時候要把類的資訊引入進來,不然出現錯誤    if(!empty($_SESSION['dog1'])){        $dog=$_SESSION['dog1'];        //var_dump($dog);        echo "<br>".$dog->show();        //echo $dog->name;        //echo '名字是'.$name."年齡是".$age;    }else{        echo 'dog沒有了<br>';    }?>

 

3、更新session

<?php    //更新session    session_start();    //更新name    $_SESSION['name']="小明";    echo "更新成功";?>

 4、刪除session

<?php    //刪除session    session_start();    //單個刪除,刪除name    //unset($_SESSION['name']);    //刪除全部    session_destroy();    echo "刪除session成功";?>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.