1. 程式人生 > >PHP中的Cookie和Session

PHP中的Cookie和Session

一、php中的cookie

   關於php中的cookie涉及到三個操作:設定cookie、查詢cookie、刪除cookie

1.1 設定cookie,必須在<html>標籤之前;

1.2 查詢cookie:找到某個cookie、展示所有的cookie;

1.3 刪除cookie的思路是將時間愛你設定為無效

<?php
# 設定cookie必須在html之前 
#setcookie("username","xiaoMing",time()+3600);
# 防止url編碼
setrawcookie("username","xiaoMing",time()+3600);

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <?php
    # 獲取cookie
    echo $_COOKIE["username"]." ni hao.<br>";

    # 展示所有的cookie
    print_r($_COOKIE);

    # 刪除cookie
    setcookie("username","",time()-3600);

    # 判斷是否設定cookie,如果設定了,獲取到cookie
    if(isset($_COOKIE["username"])){
        echo "<br>welcome to ".$_COOKIE["username"]." <br>";
    }else{
        echo "<br>Welcome to guess.<br>";
    }
    ?>
</body>
</html>

二、php中的session

     session依賴與cookie(session將id存到cookie中),session中的資料在一個會話中,使用者能訪問。會話結束,session就銷燬了。

     php中的session,有三種操作:設定session、查詢session、銷燬session

  2.1 設定session

     session必須設定在<html>標籤之前

  2.2 查詢session,使用$_SESSION

  2.3 銷燬session有兩種方法:銷燬特定的session用unset(),銷燬所有session,用session_destroy()

<?php
# 使用session,必須先開啟session
# 啟動session必須位於<html>之前
session_start();

# 存錯session
//$_SESSION["view"] = 1;
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <?php
    # 獲取session
    #echo "Pageviews= ".$_SESSION["view"];

    # 製作一個簡單的計數器
    if(isset($_SESSION["view"])){
        $_SESSION["view"]=$_SESSION["view"]+1;
    }else{
        $_SESSION["view"]=1;
    }
    echo "views= ".$_SESSION["view"]."times";

    # 終結session
    # 終結特定的session
    unset($_SESSION["view"]);

    # 終結所有的session
    session_destroy();
    ?>
</body>
</html>