1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      PHP系列(十三)PHP會話控制-創(chuàng)新互聯(lián)

      php會話控制

      創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站制作、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務鼓樓,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

      一、cookie

      1、會話控制之Cookie概述

      cookie是在http協(xié)議下,服務器或腳本可以維護客戶端信息的一種方式。

      Cookie是一種由服務器發(fā)送給客戶端的片段信息,存儲在客戶端瀏覽器的內(nèi)存或者硬盤上。常用于保存用戶名,密碼,個性化設置,個人偏好記錄等。當用戶訪問服務器時,服務器可以設置和訪問cookie的信息。

      cookie保存在客戶端,通常是IE或Firefox瀏覽器的cookie臨時文件夾中,可以手動刪除。注意:如果瀏覽器上cookie太多,超過了系統(tǒng)所允許范圍,瀏覽器也會自動對它進行刪除

      2、Cookie的操作

      設置Cookie

      語法:bool setcookie(string name,[string value,[intexpire,[string path,[stringdomain,[intsecure]]]]]);本cookie函數(shù)可以有6個屬性,常用的有3個參數(shù)。

      //向客戶端發(fā)送一個Cookie,將變量username值為skygao,保存客戶端一周的時間

      setcookie("username","skygao", time()+60*60*24*7);

      //使用setCookie()函數(shù)的全部參數(shù)設置

      setcookie("username","skygao", time()+60*60*24*7, "/test",".example.com", 1);

      setcookie參數(shù)解釋

      參數(shù)描述示例

      name 名字調(diào)用名為cookiename的cookie

      value 值假設第一個參為cookiename,通過$_COOKIE[‘name’取得值]

      exprice 有效時間設置cookie的過期時間和日期,用一個標準的Unix時間標記,可以用time()函數(shù)取得,以秒為單位.

      path 范圍服務器端的有效路徑,設置為“/”表示這個域中所有數(shù)組都可以被訪問讀取。

      domain 域名設定cookie有效域名

      secure 指明cookie只能通過安全的

      https傳送設為true時只能使用安全的https,默認為false,即設置是否僅在https安全連接時才發(fā)送cookie到客戶端,0或1。

      讀取Cookie

      如果Cookie設置成功,客戶端就擁有了Cookie文件,用來保存Web服務器為其設置的用戶信息。

      在PHP中讀取Cookie信息很簡單,使用超全局數(shù)組

      $_COOKIE[‘cookie名’]即可獲取cookie中的內(nèi)容。

      //輸出Cookie中保存的所有用戶信息

      print_r($_COOKIE);

      3、Cookie的數(shù)組形態(tài)應用

      數(shù)組也可以利用多維數(shù)組的形式,將多個內(nèi)容值存儲在相同Cookie名稱標識符下。

      setcookie("user[username]","skygao"); //$_COOKIE["user"]["username"]

      setcookie("user[password]",md5("123456")); //$_COOKIE["user"]["password"]

      setcookie("user[email]","skyga@lampbrother.net");//$_COOKIE["user"]["email"]

      //遍歷$_COOKIE[“user”]數(shù)組

      foreach($_COOKIE["user"]as $key => $value){

      //輸出Cookie數(shù)組中二維的鍵值對

      echo$key.":".$value."\n";

      }

      4、刪除Cookie

      有2種方式刪除Cookie

      –1.省略setcookie()函數(shù)的所有參數(shù)列

      –2.設置cookie為已過期

      //只指定Cookie識別名稱一個參數(shù),即刪除客戶端中這個指定名稱的Cookie資料

      setCookie("account"); //第一種方法

      //設置Cookie 在當前時間過期,因此系統(tǒng)會自動刪除識別名稱為isLogin的Cookie

      setCookie("isLogin", "", time()-1); //第二種方法

      二、session

      1、會話控制session的工作機制

      Session和Cookie相似,都是用來儲存使用者的相關(guān)資料。但大的不同之處在于Cookie是將數(shù)據(jù)存放在客戶端的計算機之中,而Session則是將數(shù)據(jù)存放于服務器系統(tǒng)之下。

      cookie和session在php中的使用區(qū)別:

      – cookie和session都可以暫時保存在多個頁面中使用的變量,但是它們有本質(zhì)的差別。

      cookie存放在客戶端瀏覽器中,

      session保存在服務器上。

      –它們之間的聯(lián)系是session ID一般保存在cookie中,或者放在URL上。

      禁用cookie的方法:

      –點擊IE中的“工具”—“Internet選項”,在彈出的對話框里點擊“安全”—“自定義級別”項,將“允許每個對話COOKIE”設為禁用.

      2、session的應用

      Session的聲明與使用

      Session的設置不同于Cookie,必須先啟動,在PHP中必須調(diào)用session_start()。

      session_start()函數(shù)的語法格式如下

      – Bool session_start(void)

      –注意:session_start()函數(shù)之前不能有任何輸出

      Session以數(shù)組的形式使用

      –如:$_SESSION[‘session名’]

      session_start(); //啟動Session的初始化

      $_SESSION["username"]= "skygao"; //注冊Session變量,賦值為一用戶名稱

      $_SESSION["uid"]= 1; //注冊Session變量,賦值為一個用戶的ID

      注冊一個會話變量和讀取Session

      在PHP中使用Session變量,除了要啟動之外,還要經(jīng)過注冊的過程。注冊和讀取Session變量,都要通過訪問$_SESSION數(shù)組完成。

      在$_SESSION關(guān)聯(lián)數(shù)組中的鍵名具有和PHP中普通變量相同的命名規(guī)則。

      Session變量會被保存在服務器端的某個文件中,該文件的位置是通過php.ini文件,在session.save_path屬性指定的目錄下。

      注銷變量與銷毀Session

      1.bool session_destroy(void)

      –刪除服務器端保留session信息的文件

      2.unset($_SESSION[‘鍵名’])

      –刪除內(nèi)存中由Session數(shù)組保存的變量

      –清除所有變量可以使用 $_SESSION=array()

      3.如果session是基于Cookie的,那么我們還需要刪除客戶端保留的cookie文件

      代碼1:

      //開啟會話session(cookie不用)

      //session_start()前面不能有任何輸出,?這個函數(shù)向客戶端發(fā)一個session_id保存在cookie中

      //還在服務器中創(chuàng)建一個和保存在客戶端同名的session文件(文本)

      session_start();

      //使用$_SESSION這個數(shù)組

      $_SESSION['username']="jons";

      $_SESSION['age']=18;

      $_SESSION['sex']="nv";

      $_SESSION['lx']['email']="mz@aaa.com";

      $_SESSION['lx']['phone']='119';

      echo $_SESSION['username'];

      代碼2:

      //開啟session

      // 1.判斷客戶端是否有了sessionid?變量名為PHPSESSID,直接使用這個session id開啟會話

      //也不新創(chuàng)建文件了,直接找這個同名session id的session文件

      session_start();

      echo '
      ';

      print_r($_SESSION);

      echo '
      ';

      echo '
      ';

      echo $_SESSION['username'];

      代碼3:

      //1開啟會話session? 1

      session_start();

      //多余的

      $username= $_SESSION['username'];

      //unset($_SESSION['username']);

      //2就可以刪除數(shù)組中的所有內(nèi)容, 即session對應的這個用戶文件的內(nèi)容就空了

      $_SESSION= array();

      //刪除客戶中cookie聽sessionid

      if(isset($_COOKIE[session_name()])){

      setCookie(session_name(),"", time()-3600, "/");

      }

      //4銷毀session

      session_destroy();

      echo"再見:{$username}";

      3、Session的配置選項

      配置Session

      php.ini文件和Session有關(guān)的幾個常用配置選項

      – session.auto_start = 0 ; 在請求啟動時初始化session

      – session.cache_expire= 180; 設置緩存中的會話文檔在 n 分鐘后過時

      – session.cookie_lifetime = 0 ;設置按秒記的cookie的保存時間,

      相當于設置Session的過期時間,為0時表示直到瀏覽器被重啟

      – session.auto_start=1,這樣就無需每次使用session之前都要調(diào)用session_start()。但啟用該選項也有一些限制,如果確實啟用了 session.auto_start,則不能將對象放入會話中,因為類定義必須在啟動會話之前加載以在會話中重建對象。

      –session.cookie_path = / ; cookie的有效路徑

      –session.cookie_domain =; cookie的有效域

      – session.name =PHPSESSID;用在cookie里的session的名字

      –session.save_handler = files ;用于保存/取回數(shù)據(jù)的控制方式

      – session.save_path= /tmp;在 save_handler設為文件時傳給控制器的參數(shù),這是數(shù)據(jù)文件將保存的路徑.

      –session.use_cookies = 1;是否使用cookies

      4、Session的自動垃圾回收機制

      php.ini中相關(guān)的配置

      – session.cookie_lifetime=0;關(guān)閉瀏覽器相應的cookie文件即被刪除

      – session.gc_maxlifetime=1440;設置過期session時間,默認1440秒(24分鐘)

      –session.gc_probability/session.gc_divisor;啟動垃圾回收機制的概率(建議值為1/1000~5000)

      代碼:

      //開啟會話session(cookie不用)

      //session_start()前面不能有任何輸出,? 這個函數(shù)向客戶端發(fā)一個session_id保存在cookie中

      // 還在服務器中創(chuàng)建一個和保存在客戶端同名的session文件(文本)

      // 調(diào)度PHP的機制使用session

      session_start();

      //使用$_SESSION這個數(shù)組

      $_SESSION['username']="jons";

      $_SESSION['age']=18;

      $_SESSION['sex']="nv";

      $_SESSION['aaaaaaaa']="bbbbbbbbbbbbbbb";

      $_SESSION['lx']['email']="mz@aaa.com";

      $_SESSION['lx']['phone']='119';

      echosession_name()." = ".session_id()."
      ";

      5、基于URL傳遞session的id

      為啥要使用URL傳session id

      基于cookie的方式傳遞session id這種方式更優(yōu)。

      但不總是可用,因為用戶在客戶端可以屏蔽cokie;

      什么是基于url傳session id

      是通過url參數(shù)進行傳遞

      直接將session id嵌入到url中去

      參數(shù)規(guī)則

      Session_name()和session_id()應用

      常量SID的使用

      URL加session id也是自動的

      在使用Linux系統(tǒng)做服務器時,在編輯PHP時,打開—enable-trans-sid配置選項,和運行時選項session.use_trans_sid=1激活,在客戶端禁用cookie時,相對的url將被自動修改為包含sessionid,如果沒有配置,或使用windows系統(tǒng)作為服務器時,可以使用常量SID.

      建議使用Linux并配置好

      ” method=”post”>

      Name:

      Pass:

      微信掃一掃?、關(guān)注公眾號

      不定時分享資料視頻

      PHP系列(十三)PHP會話控制

      另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


      網(wǎng)頁名稱:PHP系列(十三)PHP會話控制-創(chuàng)新互聯(lián)
      當前路徑:http://www.ef60e0e.cn/article/cooido.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        栾川县| 长阳| 甘洛县| 吉木萨尔县| 永登县| 贵州省| 陆丰市| 汕尾市| 陇南市| 九台市| 徐州市| 通许县| 镇原县| 大邑县| 泉州市| 顺平县| 汾西县| 永清县| 巴里| 龙里县| 海原县| 云林县| 新晃| 枣阳市| 哈尔滨市| 黄龙县| 资中县| 徐水县| 德令哈市| 黑水县| 德钦县| 民勤县| 苏尼特左旗| 舒兰市| 常宁市| 长治市| 乌兰浩特市| 卫辉市| 盈江县| 慈溪市| 楚雄市|