SESSION 和COOKIE初級用法。。

這是一個非常小的demo大神勿看

http://www.freebuf.com/articles/web/10369.html 感覺這個文章寫的不錯,大家可以去看看。。

正好這段時間用到了session就索性溫習一遍,以後還會補充希望大家指正錯誤。。

一、session的存入

    1、首先我存入了一個key爲name,value是‘zhangsan’的session

public function actionabc11() {
        Yii::app()->session['name'] = 'zhangsan';

    }


2、然後我用chrome進行訪問。。。結果如下



PHPSESSID:是php默認的,這個可以在php.ini通過session.name = PHPSESSID 來進行修改

value :就是存放session值的文件名字。文字地址可以通過php.ini中的session.save_path 來進行修改默認是放在當前目錄下的temp文件夾

Domain:就是當前域

path:路徑

等等。。。

3、然後我找到當前目錄下的特temp文件夾下的這個文件如下。。這是把我存入session的值進行了序列化

name|s:9:"zhangsan";


4、我關閉瀏覽器,在從新打開,會發現,訪問結果還是一樣的,session文件不會消失

注:php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默認24分鐘)這個是默認時效時間。。

5、如果我換了一個瀏覽器再次訪問


然後在temp目錄下回發現又多了一個文件。


打開個兩個文件,內容是一樣的。。都是經過序列化的key=’name‘,value=’zhangsan‘的文件


總結

1、每次打開瀏覽器會請求網址默認生成一個PHPSESSID 的唯一標識key。即文件名稱。cookie的值(建立一個新的會話)

2、當前會話中的話讀取session以及寫入,修改等 session都是在這個文件進行的。

3、關閉瀏覽器,意味着會話結束,但是session文件不會消失

4、每個瀏覽器都是一個服務端,不同的服務器session存放的key可以相同

5、session存放路徑,名字,失效時間等都是可以進行人爲設置的


二、session的讀取

    public function actionabc22() {
        
        echo Yii::app()->session['name'].'</br>';

        var_dump($_COOKIE);
    }
1、用瀏覽器訪問結果如下,zhangsan 就是存入key爲name的session。





三、cookie的設置與讀取

setcookie("user", 1111, time()+3600);       //設置名字爲user的cookie
$_COOKIE["user"];                             //取值
setcookie("user", "", time()-3600);        //刪除

注:關閉瀏覽器,從新打開瀏覽器,cookie值是存在(只要不過期)

在發送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼(爲防止 URL 編碼,請使用 setrawcookie() 取而代之)。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章