91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中如何完成Session的設置、獲取和刪除

發布時間:2021-10-26 13:33:58 來源:億速云 閱讀:228 作者:iii 欄目:編程語言

本篇內容介紹了“PHP中如何完成Session的設置、獲取和刪除”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

PHP中如何完成Session的設置、獲取和刪除

在之前的文章中,我們介紹了客戶端用來儲存用戶數據的cookie,本篇我們來看一下在PHP中占有非常重要地位的session,session是一種服務器端的機制,也是用來保存信息的,相比于保存在客戶端的cookie,保存在服務器端的session用戶是無法禁用的,同一個客戶端每次和服務端交互時,不需要每次都傳回所有的cookie值,只需要傳回一個ID就可以了,這個ID是第一次訪問服務器的時候生成的,并且是唯一的。

那接下來就來看一看到底什么是session,應該怎樣去設置、獲取和刪除session吧

什么是session

session中文意思是會話,它用來儲存使用者的相關資料的,這與cookie類似,例如用戶名、個性化設置等等,與cookie不同的是,cookie是將資料保存在客戶端的電腦中,用戶可以禁用;而session是將數據保存在服務器系統下。網頁是無狀態的程序連接,無法記錄用戶的狀態,因此通過session來記錄用戶的相關信息就顯得尤為重要。

當開啟一個session是,PHP會隨機的創建一個sessionID,每個用戶的sessionID是唯一的。這個sessionID在客戶端與服務器端都會有保存的位置,保存在客戶端會使用cookie的指定目錄里;在服務器端回憶文本的形式保存到指定的session目錄里。

與cookie相比,session是有很多優勢的:

因為session的數據不會在客戶端與服務器端來回的反復傳遞,所以通常情況下session還是更安全的;session能夠存儲的信息比cookie要多很多;用戶可以禁用cookie,但是有方法能夠是session正常工作。

了解了什么是session后,接下來看一看應該怎樣去開啟session。

開啟session

不同于cookie,使用cookie可以直接創建,而在使用session之前必須先啟動,目的是為了讓PHP中的核心程序能夠將session相關的內建環境預先加載到內存中。

在PHP中通過session_start()函數可以實現開啟session的目的,函數session_start()的語法格式如下:

session_start ([array $options = array()])

其中需要注意的是:

$options是一個可選函數,是一個關聯數組,并且這個數組中的鍵不需要包含session.前綴。

示例如下:

<?php
    session_start([
        'cookie_lifetime' => 60*60*24,  // 設置 cookie 的有效時間為 1 天
    ]);
    echo 'Session ID 為:'.$_COOKIE['PHPSESSID'];
?>

輸出結果:

PHP中如何完成Session的設置、獲取和刪除

需要注意的是:調用 session_start() 函數會生成一個唯一的 Session ID,并保存在瀏覽器的 Cookie 中,默認名稱為“PHPSESSID”。同時,在本地目錄中生成一個以“sess_”加上 Session ID 組成的 Session 文件,用來存儲 Session 中的數據,輸出結果:

PHP中如何完成Session的設置、獲取和刪除

通過上述實例,已經了解到了應該怎樣去開啟session,那接下來看一下應該怎樣去設置和獲取session

設置和獲取session

在上文中,啟動了session之后,想要使用session變量,還需要經過設置和獲取session中的數據,想要完成這些還需要通過$_SESSION數組來完成。使用$_SESSION之前必須要先試用session_start()函數來開啟session才可以。

$_SESSION 為一個關聯數組,和普通關聯數組鍵值對的含義相同。設置 Session 的語法格式如下:

$_SESSION[名稱] = 值;

示例如下:

<?php
    session_start();
    $str = '好好學習';
    $arr = ['Session','$_SESSION'];
    $_SESSION['study']  = $str;
    $_SESSION['study1']   = '天天向上';
    $_SESSION['title'] = $arr;
    foreach ($_SESSION as $key => $value) {
        if(is_array($value)){
            echo $key.':';
            print_r($value);
        }else{
            echo $key.' = '.$value.'<br>';
        }
    }
?>

輸出結果:

PHP中如何完成Session的設置、獲取和刪除

運行后需要注意的是:會將這幾個變量或數組保存到 $_SESSION 中,還會被保存到服務器端由“sess_”和 Session ID 所命名的文件中,這個文件的位置可以通過修改 php.ini 配置文件或使用 session.save_path 配置。

上文中已經了解了怎樣開啟、設置和獲取session,接下來看一下應該怎樣刪除session。

刪除單個session

刪除單個session元素需要通過unset()函數,該函數可以釋放指定的變量,相當于直接注銷掉數組中的元素,他的語法格式如下:

unset(mixed $var [, mixed $...])

其中需要注意的是:

$var 為要釋放的變量,unset() 函數可以接收多個參數,參數之間使用,分隔。

實例如下:

<?php
    session_start();
    echo '<pre>';
    $str = '好好學習';
    $arr = ['刪除 Session','$_SESSION'];
    $_SESSION['study']  = $str;
    $_SESSION['study1']   = '天天向上';
    $_SESSION['title'] = $arr;
    echo '定義一個 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '刪除 Session 中名為 title 的元素:<br>';
    unset($_SESSION['title']);
    print_r($_SESSION);
?>

輸出結果:

PHP中如何完成Session的設置、獲取和刪除

如此便通過unset()函數完成了刪除session單個元素了。

刪除session多個元素

如果想要一次性刪除多個 Session 元素,即一次注銷所有的會話變量,可以通過將一個空的數組賦值給 $_SESSION 來實現

實例如下:

<?php
    session_start();
    echo '<pre>';
    $str = '好好學習';
    $arr = ['刪除 Session','$_SESSION'];
    $_SESSION['study']  = $str;
    $_SESSION['study1']   = '天天向上';
    $_SESSION['title'] = $arr;
    echo '定義一個 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '刪除 Session 中名為 title 的元素:<br>';
    $_SESSION = array();
    print_r($_SESSION);
?>

通過將一個空的數組賦值給 $_SESSION 輸出結果:

PHP中如何完成Session的設置、獲取和刪除

還有一種方法就是通過session_unset() 函數來釋放session中的所有元素,實例如下:

<?php
    session_start();
    echo '<pre>';
    $str = '好好學習';
    $arr = ['刪除 Session','$_SESSION'];
    $_SESSION['study']  = $str;
    $_SESSION['study1']   = '天天向上';
    $_SESSION['title'] = $arr;
    echo '定義一個 Session,如下所示:<br>';
    print_r($_SESSION);
    echo '刪除 Session 中名為 title 的元素:<br>';
    session_unset();
    print_r($_SESSION);
?>

輸出結果與上述實例的結果相同,由此我們便通過兩種方法可以刪除session多個元素了。

“PHP中如何完成Session的設置、獲取和刪除”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日照市| 盐池县| 磴口县| 平和县| 江陵县| 兴安盟| 永善县| 竹山县| 北宁市| 周口市| 天祝| 古蔺县| 陆河县| 牡丹江市| 大新县| 吴堡县| 延庆县| 济宁市| 天气| 兰溪市| 莱西市| 枣阳市| 遵义市| 大渡口区| 江口县| 玉林市| 巨野县| 休宁县| 凌海市| 新巴尔虎右旗| 阿鲁科尔沁旗| 松潘县| 西平县| 垣曲县| 兴仁县| 锦州市| 博罗县| 肃北| 吐鲁番市| 上蔡县| 城固县|