選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

PHP 教程

PHP HOME PHP 簡介 PHP 安裝 PHP 語法 PHP 註釋 PHP 變數 PHP Echo / Print PHP 資料型別 PHP 字串 PHP 數字 PHP 型別轉換 PHP 數學 PHP 常量 PHP 魔術常量 PHP 運算子 PHP If...Else...Elseif PHP Switch PHP 迴圈 PHP 函式 PHP 陣列 PHP 超全域性變數 PHP 正則表示式

PHP 表單

PHP 表單處理 PHP 表單驗證 PHP 表單必填項 PHP 表單 URL/電子郵件 PHP 表單完成

PHP 高階

PHP 日期和時間 PHP Include PHP 檔案處理 PHP 檔案開啟/讀取 PHP 檔案建立/寫入 PHP 檔案上傳 PHP Cookies PHP Sessions PHP 過濾器 PHP 高階過濾器 PHP 回撥函式 PHP JSON PHP 異常

PHP OOP

PHP 什麼是 OOP PHP 類/物件 PHP 建構函式 PHP 解構函式 PHP 訪問修飾符 PHP 繼承 PHP 常量 PHP 抽象類 PHP 介面 PHP Trait PHP 靜態方法 PHP 靜態屬性 PHP 名稱空間 PHP 可迭代物件

MySQL 資料庫

MySQL 資料庫 MySQL 連線 MySQL 建立資料庫 MySQL 建立表 MySQL 插入資料 MySQL 獲取最後 ID MySQL 插入多條資料 MySQL 預處理 MySQL 查詢資料 MySQL Where MySQL Order By MySQL 刪除資料 MySQL 更新資料 MySQL 限制資料

PHP XML

PHP XML 解析器 PHP SimpleXML 解析器 PHP SimpleXML - 獲取 PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX 簡介 AJAX PHP AJAX 資料庫 AJAX XML AJAX 即時搜尋 AJAX 投票

PHP 示例

PHP 示例 PHP 編譯器 PHP 測驗 PHP 練習 PHP 伺服器 PHP 證書

PHP 參考手冊

PHP 概述 PHP 陣列 PHP 日曆 PHP 日期 PHP 目錄 PHP 錯誤 PHP 異常 PHP 檔案系統 PHP 過濾器 PHP FTP PHP JSON PHP 關鍵詞 PHP Libxml PHP 郵件 PHP 數學 PHP 雜項 PHP MySQLi PHP 網路 PHP 輸出控制 PHP 正則表示式 PHP SimpleXML PHP Stream PHP String PHP 變數處理 PHP XML 解析器 PHP 壓縮 PHP 時區

PHP 會話


會話是一種儲存資訊(在變數中)以便跨多個頁面使用的機制。

與 cookie 不同,資訊不會儲存在使用者計算機上。


什麼是 PHP 會話?

當你使用一個應用程式時,你會開啟它,做一些更改,然後關閉它。這很像一個會話。計算機知道你是誰。它知道你何時啟動應用程式以及何時結束。但在網際網路上有一個問題:Web 伺服器不知道你是誰或你在做什麼,因為 HTTP 地址不維護狀態。

會話變數透過儲存使用者資訊來解決這個問題,這些資訊可以在多個頁面中使用(例如使用者名稱、喜歡的顏色等)。預設情況下,會話變數會一直保留到使用者關閉瀏覽器。

所以;會話變數儲存單個使用者的資訊,並可用於應用程式中的所有頁面。

提示:如果你需要永久儲存,你可能想將資料儲存在 資料庫 中。


啟動 PHP 會話

會話使用 session_start() 函式啟動。

會話變數使用 PHP 全域性變數:$_SESSION 設定。

現在,我們建立一個名為“demo_session1.php”的新頁面。在此頁面中,我們將啟動一個新的 PHP 會話並設定一些會話變數。

示例

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>
執行示例 »

注意: session_start() 函式必須是文件中的第一件事。在任何 HTML 標籤之前。



獲取 PHP 會話變數值

接下來,我們建立另一個名為“demo_session2.php”的頁面。從這個頁面,我們將訪問我們在第一個頁面(“demo_session1.php”)上設定的會話資訊。

請注意,會話變數不會單獨傳遞給每個新頁面,而是從我們為每個頁面開頭開啟的會話(session_start())中檢索。

另外請注意,所有會話變數值都儲存在全域性 $_SESSION 變數中。

示例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
執行示例 »

顯示單個使用者會話所有會話變數值的另一種方法是執行以下程式碼:

示例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
執行示例 »

它是如何工作的?它怎麼知道是我?

大多數會話會在使用者的計算機上設定一個使用者金鑰,看起來像這樣:765487cf34ert8dede5a562e4f3a7e12。然後,當在另一個頁面上開啟一個會話時,它會掃描計算機以查詢使用者金鑰。如果匹配,它會訪問該會話,否則,它會啟動一個新會話。


修改 PHP 會話變數

要更改會話變數,只需覆蓋它即可。

示例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
執行示例 »

銷燬 PHP 會話

要刪除所有全域性會話變數並銷燬會話,請使用 session_unset()session_destroy()

示例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
執行示例 »


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援