php的cookie配置和session使用


1、Cookie和Session簡介與區別

2、Cookie的配置與應用

3、Session的配置與應用

4、用Cookie和Session做登陸

----------------------------------------------------

1、Cookie和Session簡介與區別

PHP對cookie的接收和處理的支持非常好,完全自動。

在非常多時候,我們需要跟蹤瀏覽者在整個網站的活動,對他們身份進行自動或半自動的識別(也就是平時常說的網站登陸之類的功能),這時候,我們常采用Cookie與 Session來跟蹤和判斷。

區別

Session信息是存放在server端,但session id是存放在client cookie的,當然php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤Cookie是完全保持在客戶端的如:IE firefox 當客戶端禁止cookie時將不能再使用。

 

2、Cookie的配置與應用

Setcookie(string name, string value, int expire,string path, string domain, int secure); 

其中name是cookie變量名稱標識,你在php中將能象使用普通變量名相同來用他引用cookie變量。

value是cookie變量的初始值,expire 表示該cookie變量的有效時間;

path 為該cookie變量的相關路徑;向下兼容,權限只在此目錄以下。

domain 表示cookie變量的網站;跨域,待研究  .07byte.com 泛解析;

secure 則需在 https 的安全傳輸時才有效。待研究  1為https

例如

SetCookie("login", "logined",time()+3600, "/forum", ".07byte.com", 1);

調用COOKIE值;

echo $_COOKIE["login"];

cookie可以是字符串,也可以是數組;

刪除COOKIE

1、SetCookie("Cookie", "");

2、SetCookie("Cookie", "value" , time()-1 / time() );

使用Cookie的限制

1、必須在HTML文件的內容輸出之前設置;

2、不同的瀏覽器對Cookie的處理不一致,且有時會出現錯誤的結果。

3、限制是在客戶端的。一個瀏覽器能創建的Cookie數量最多為30個,並且每個不能超過4KB,每個WEB站點能設置的Cookie總數不能超過20個。可以考慮靈活的用數組。

 

3、Session的配置與應用

session_start();                    //初始化session.需在文件頭部 在start 后,session才可以開始使用;cookie可以在輸出html前,但session要在所有header文件之前。

$_SESSION[name]=value;  //配置Seeeion

echo $_SESSION[name];    //使用session;cookie是生成在客戶端,第一次只是生成,第二次訪問才能生效,session配置好立馬就會生效

isset($_SESSION[name]);   // 判斷  

unset($_SESSION[name]);   //刪除

session_destroy();             //消耗所有session

 4 用戶登錄實例

session_start();                    //初始化session.需在文件頭部,所有輸出前。

$_SESSION[name]=value;  //配置Seeeion

echo $_SESSION[name];    //使用session

isset($_SESSION[name]);   // 判斷

unset($_SESSION[name]);   //刪除

session_destroy();             //消耗所有session

實例:登錄系統;

<?php 

if(@$_POST["sub"]){
    if($_POST["uname"] && $_POST["upsw"]){
        setcookie('uname',$_POST["uname"],time()+3600);
        setcookie("password",$_POST["upsw"],time()+3600);
        ECHO "成功";
            echo "<Script>location.href=test.php</script>";
        
    }
}

?>

<form action="test.php" method="POST"> <INPUT TYPE="TEXT" VALUE="" NAME="uname" placeholder="uname"> <INPUT TYPE="password" VALUE="" NAME="upsw" placeholder=""> <INPUT TYPE="submit" name="sub"> </form>

寫的比較簡單,然后是關於session,可能更就簡單,注意放在最前面;

session_start();
//session_destroy();
//session_unset();

if(@$_POST["sub"]){
    if($_POST["uname"] && $_POST["upsw"]){
        $_SESSION["uname"]=$_POST["uname"];
        $_SESSION["password"]=$_POST["upsw"];
        ECHO "成功";
        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM