摘要:一的會話也稱為。如果啟動會話成功,則函數返回,否則返回。會話啟動后就可以載入該會話已經注冊的會話變量以便使用。但數組創建的在會話結束后就會失效。預告本周三更新面試常考之網絡協議,敬請期待。
你好,是我琉憶,歡迎您來到PHP面試專欄。
本周(2019.2-25至3-1)的一三五更新的文章如下:
周一:PHP面試常考之會話控制
周三:PHP面試常考之網絡協議
周五:PHP面試常考題之會話控制和網絡協議
以下正文的內容來自《PHP程序員面試筆試寶典》書籍,如果轉載請保留出處:
最近是換工作潮自己刻意“匯總整理了11篇帶解析的PHP面試題的文檔”,已上傳百度云,關注公眾號:“琉憶編程庫”,回復:“php”,下載鏈接我發給你。一、session
PHP的會話也稱為Session。PHP在操作Session時,當用戶登錄或訪問一些初始頁面時服務器會為客戶端分配一個SessionID。SessionID是一個加密的隨機數字,在Session的生命周期中保存在客戶端。它可以保存在用戶機器的Cookie中,也可以通過URL在網絡中進行傳輸。
用戶通過SessionID可以注冊一些特殊的變量,稱為會話變量,這些變量的數據保存在服務器端。在一次特定的網站連接中,如果客戶端可以通過Cookie或URL找到SessionID,那么服務器就可以根據客戶端傳來的SessionID訪問會話保存在服務器端的會話變量。
Session的生命周期只在一次特定的網站連接中有效,當關閉瀏覽器后,Session會自動失效,之前注冊的會話變量也不能再使用。具體的使用步驟如下:
1)初始化會話。在實現會話功能之前必須要初始化會話,初始化會話使用session_start()函數。
bool session_start(void)
該函數將檢查SessionID是否存在,如果不存在,則創建一個,并且能夠使用預定義數組$_SESSION進行訪問。如果啟動會話成功,則函數返回TRUE,否則返回FALSE。會話啟動后就可以載入該會話已經注冊的會話變量以便使用。
2)注冊會話變量。自PHP 4.1以后,會話變量保存在預定義數組$_SESSION中,所以可以以直接定義數組單元的方式來定義一個會話變量,格式如下:
$_SESSION["鍵名"]="值";
會話變量定義后被記錄在服務器中,并對該變量的值進行跟蹤,直到會話結束或手動注銷該變量。
3)訪問會話變量。要在一個腳本中訪問會話變量,首先要使用session_start()函數啟動一個會話。之后就可以使用$_SESSION數組訪問該變量了。
4)銷毀會話變量。會話變量使用完后,刪除已經注冊的會話變量以減少對服務器資源的占用。刪除會話變量使用unset()函數,語法格式如下:
void unset(mixed $var [, mixed $var [, $... ]])
說明:$var是要銷毀的變量,可以銷毀一個或多個變量。要一次銷毀所有的會話變量,使用session_unset();。
5)銷毀會話。使用完一個會話后,要注銷對應的會話變量,然后再調用session_destroy()函數銷毀會話,語法格式如下:
bool session_destroy ( void )
該函數將刪除會話的所有數據并清除SessionID,關閉該會話。
最近是換工作潮自己刻意“匯總整理了11篇帶解析的PHP面試題的文檔”,已上傳百度云,關注公眾號:“琉憶編程庫”,回復:“php”,下載鏈接我發給你。
Cookie可以用來存儲用戶名、密碼、訪問該站點的次數等信息。在訪問某個網站時,Cookie將html網頁發送到瀏覽器中的小段信息以腳本的形式保存在客戶端的計算機上。
一般來說,Cookie通過HTTP Headers從服務器端返回瀏覽器。首先,服務器端在響應中利用Set Cookie Header來創建一個Cookie。然后瀏覽器在請求中通過Cookie Header包含這個已經創建的Cookie,并且將它返回至服務器,從而完成瀏覽器的驗證。
Cookie技術有很多局限性,例如:
1)多人共用一臺計算機,Cookie數據容易泄露。
2)一個站點存儲的Cookie信息有限。
3)有些瀏覽器不支持Cookie。
4)用戶可以通過設置瀏覽器選項來禁用Cookie。
正是由于以上Cookie的一些局限性,所以,在進行會話管理時,SessionID通常會選擇Cookie和URL兩種方式來保存,而不是只保存在Cookie中。
具體而言,Cookie的使用步驟如下:
1)創建Cookie。在PHP中創建Cookie使用setcookie()函數,語法格式如下:
bool setcookie(string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly ]]]]]])
① $name:表示Cookie的名字。
② $value:表示Cookie的值,該值保存在客戶端,所以不要保存比較敏感的數據。
③ $expire:表示Cookie過期的時間,這是一個UNIX時間戳,即從UNIX紀元開始的秒數。對于$expire的設置一般通過當前時間戳加上相應的秒數來決定。例如,time()+1200表示Cookie將在20min后失效。如果不設置則Cookie將在瀏覽器關閉之后失效。
④ $path:表示Cookie在服務器上的有效路徑。默認值為設定Cookie的當前目錄。
⑤ $domain:表示Cookie在服務器上的有效域名。例如,要使Cookie能在example.com域名下的所有子域都有效,該參數應設為".example.com"。
2)訪問Cookie。通過setcookie()函數創建的Cookie是作為數組的單元,存放在預定義變量$_COOKIE中。也就是說,直接對$_COOKIE數組單元進行賦值也可以創建Cookie。但$_COOKIE數組創建的Cookie在會話結束后就會失效。
3)刪除Cookie。Cookie在創建時指定了一個過期時間,如果到了過期時間,那么Cookie將自動被刪除。在PHP中沒有專門刪除Cookie的函數。如果為了安全方面的考慮,在Cookie過期之前就想刪除Cookie,那么可以使用setcookie()函數或$_COOKIE數組將已知Cookie的值設為空。
示例代碼如下:
) ?>
Cookie和Session都是用來實現會話機制的,由于HTTP協議是無狀態的,所以要想跟蹤一個用戶在同一個網站之間不同頁面的狀態,需要有一個機制,稱為會話機制。
預告:本周三更新PHP面試常考之網絡協議,敬請期待。
以上內容摘自《PHP程序員面試筆試寶典》書籍,該書已在天貓、京東、當當等電商平臺銷售。
更多PHP相關的面試知識、考題可以關注公眾號獲取:琉憶編程庫
對本文有什么問題或建議都可以進行留言,我將不斷完善追求極致,感謝你們的支持。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30156.html
摘要:是為互聯網服務的協議族,它是網絡通信協議的統稱,由和等協議組成。預告本周五更新面試常考題之會話控制和網絡協議,敬請期待。以上內容摘自程序員面試筆試寶典書籍,該書已在天貓京東當當等電商平臺銷售。 你好,是我琉憶,歡迎您來到PHP面試專欄。本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面試常考之會話控制周三:PHP面試常考之網絡協議周五:PHP面試常考題之會話控...
摘要:一鏈表鏈表是一種常見的基礎數據結構,是一種線性表,但是并不會按線性的順序存儲數據,而是在每一個節點里存到下一個節點的指針。指向整個列表的指針可以被稱作訪問指針。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.18至3.22)的一三五更新的文章如下: 周一:PHP面試常考之數據結構——鏈表的概念周三:PHP面試常考之數據結構——棧和隊列周五:PHP面試常考之...
摘要:工廠模式其實可以劃分為簡單工廠模式工廠方法模式抽象工廠模式等。簡單工廠模式介紹簡單工廠模式又稱為靜態工廠方法模式,它屬于類創建型模式。此模式是對工廠方法模式的進一步擴展。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試常考之設計模式——工廠模式周三:PHP面試常考之設計模式——建造者模式周五:PHP...
摘要:你好,是我琉憶,程序員面試筆試系列圖書的作者。建造者模式介紹建造者模式又名生成器模式,是一種對象構建模式。表示被構造的復雜對象。創建該產品的內部表示并定義它的裝配過程。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試常考之設計模式——工廠模式周三:PHP面試常考之設計模式——建造者模式周五:PHP面...
摘要:策略模式介紹策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨立于使用它的客戶而獨立變化。使用策略模式的好處策略模式提供了管理相關的算法族的辦法。使用策略模式可以避免使用多重條件轉移語句。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試常考之設計模式——工...
閱讀 2906·2023-04-26 01:01
閱讀 3682·2021-11-23 09:51
閱讀 2514·2021-11-22 14:44
閱讀 3542·2021-09-23 11:57
閱讀 2826·2021-09-22 14:58
閱讀 5866·2021-09-10 11:25
閱讀 2100·2019-08-30 13:11
閱讀 1589·2019-08-30 12:59