如何檢查PHP會話是否已啟動?
在PHP中,我們使用內建函式`session_start()`來啟動會話。但我們在PHP指令碼中遇到的問題是,如果我們多次執行它,就會報錯。因此,我們將學習如何在不兩次呼叫`session_start()`函式的情況下檢查會話是否已啟動。
解決此問題有兩種方法。
對於PHP 5.4.0之前的版本。
示例
<?php if(session_id() == ''){ session_start(); } ?>
解釋
如果會話未啟動,以上程式碼將始終在PHP指令碼中啟動會話。
在第二種方法中,我們可以使用函式`session_status()`,它返回當前會話的狀態。此函式可以返回三個整數值,它們都是預定義的常量。這些是
- 0 – `PHP_SESSION_DISABLED`:會話當前已停用。
- 1 – `PHP_SESSION_NONE`:會話已啟用,但尚未啟動任何會話。
- 2 – `PHP_SESSION_ACTIVE`:會話已啟用,並且已啟動會話。
示例
<?php if (session_status() == PHP_SESSION_NONE) { session_start(); } ?>
解釋
以上程式碼檢查會話是否已啟動,如果未啟動,則將在PHP指令碼中啟動會話。
注意
`session_status()`函式僅在PHP 5.4.0或更高版本中執行。
廣告