搜尋
首頁後端開發PHP問題php中session_start()是什麼意思

php中session_start()是什麼意思

Mar 07, 2022 am 11:08 AM
phpsession_start()

在php中,session_start()的意思為“開始會話”,是一個用於創建新會話或重用現有會話的內建函數;語法為“session_start($array);”,成功開始會話回傳true,反之回傳false。

php中session_start()是什麼意思

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

在php中,session_start()的意思為「開始會話」。

語法:

session_start(array $options = array()): bool

session_start()函數會建立新會話或重複使用現有會話。如果透過 GET 或 POST 方式,或使用 cookie 提交了會話 ID, 則會重複使用現有會話。

參數:

  • $options:此參數是關聯數組,如果提供,那麼就會用其中的項目覆寫 會話配置指示 中的配置項目。此陣列中的鍵無需包含 session. 前綴。

    除了一般的會話設定指示項, 也可以在此陣列中包含 read_and_close 選項。如果將此選項的值設為 true, 那麼會話檔案會在讀取完畢之後馬上關閉, 因此,可以在會話資料沒有變動的時候,避免不必要的檔案鎖定。

當會話自動開始或透過 session_start() 手動開始的時候, PHP 內部會呼叫會話管理器的 open 和 read 回呼函數。會話管理器可能是 PHP 預設的, 也可能是擴充功能提供的(SQLite 或 Memcached 擴充功能), 也可能是透過 session_set_save_handler() 設定的使用者自訂會話管理器。透過 read 回呼函數傳回的現有會話資料(使用特殊的序列化格式儲存), PHP 會自動反序列化資料並且填入 $_SESSION 超級全域變數。

若要使用命名會話,請在呼叫 session_start() 函數 之前呼叫 session_name() 函數。

如果啟用了 session.use_trans_sid 選項, session_start() 函數會註冊一個內部輸出管理器, 此輸出管理器完成 URL 重寫的工作。

如果使用者合併使用 ob_start() 和 ob_gzhandler 函數,則函數的呼叫順序會影響輸出結果。例如,必須在開始會話之前呼叫 ob_gzhandler 函數完成註冊。

  • 回傳值:成功開始會話回傳 true ,反而回傳 false。

範例1:

<?php
// page1.php

session_start();

echo &#39;Welcome to page #1&#39;;

$_SESSION[&#39;favcolor&#39;] = &#39;green&#39;;
$_SESSION[&#39;animal&#39;]   = &#39;cat&#39;;
$_SESSION[&#39;time&#39;]     = time();

// 如果使用 cookie 方式传送会话 ID
echo &#39;<br /><a href="page2.php">page 2</a>&#39;;

// 如果不是使用 cookie 方式传送会话 ID,则使用 URL 改写的方式传送会话 ID
echo &#39;<br /><a href="page2.php?&#39; . SID . &#39;">page 2</a>&#39;;
?>

請求 page1.php 頁面之後, 第二頁 page2.php 會包含會話資料。請參閱 會話參考 以取得更多關於 會話 ID 傳送的信息, 在該參考頁中有關於常數 SID 的詳細說明。

範例2:覆寫 Cookie 逾時時間設定

<?php
// 设置 cookie 的有效时间为 1 天
session_start([
    &#39;cookie_lifetime&#39; => 86400,
]);
?>

推薦學習:《PHP影片教學

以上是php中session_start()是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具