1. 程式人生 > >關於PHP中會話技術的知識點分享

關於PHP中會話技術的知識點分享

前言:在PHP中會話技術也是特別重要的,主要應用在免登入,儲存一些持久化資料等等的方面,但是後期的介紹中,我將會放棄這種技術改用redis方法來替換這種方法.

(一)cookie技術(即資料快取在客戶端中有風險)

  1.設定操作(增刪改)

    增:setcookie(名, 值)

    刪:setcookie(名, 空值)

    改:setcookie(名, 值2)

  2.查

    查:$_COOKIE

  3.setcookie與$_COOKIE的關係

    設定了cookie不會馬上生效,而是在下一次訪問時候才可以顯示,是由於瀏覽器要在最後一次載入完成後,才會記錄這一次的修改

  4.COOKIE 屬性的設定

    setcookie(名, 值, 有效期有效路徑有效域是否安全傳輸httponly);

    1.有效期:

      通過setcookie函式的第三個引數來進行設定的;

      不設定設定為0表示預設情況,為一個會話週期;

      預設情況一個會話週期為從新增該條COOKIE到瀏覽器關閉為止。

    2.有效路徑

      通過setcookie函式的第四個引數來進行設定的;

      不設定設定為空字串表示預設情況;

      預設情況表示當前程式所在目錄及其子目錄有效。

    3.有效域

      通過setcookie函式的第五個引數來進行設定的;

      不設定設定為空字串表示預設情況;

      預設情況表示當前域名及其子域名有效。

    4.是否安全傳輸

      通過setcookie函式的第六個引數來進行設定的;

      不設定設定為false表示預設情況;

      預設情況表示http或https下都有效,如果將值設定為true,則表示只有在https下才有效(包括增刪改查)。

    5.httponly

      通過setcookie函式的第七個引數來進行設定的;

      不設定設定為false表示預設情況;

      預設情況表示除了能夠使用原程式指令碼程式碼訪問以外,還能夠通過其他指令碼語言訪問到COOKIE資料。如果設定為true,則表示允許原程式指令碼程式碼進行操作。

 

(二)session技術(即資料存在伺服器中)

   注意:操作session都要開啟session_start();

   1.設定操作(增刪改)

    增:$_SESSION['name'] = 'zhangsan';

    刪:unset($_SESSION['name']);

    改:$_SESSION['name'] = 'zhangsan111';

   2.查

    var_dump($_SESSION['name'])

   3.銷燬

    session_destroy()

   4.SESSION的屬性控制(單個設定)

    有效期:session.cookie_lifetime = 0;

    有效路徑:session.cookie_path = /

    有效域:session.cookie_domain = 

    httponly屬性:session.cook

   5.SESSION的屬性控制(多個設定)

    session_set_cookie_params(有效期[, 有效路徑[, 有效域[, 是否安全傳輸[, httponly]]]])