zoukankan      html  css  js  c++  java
  • PHP操作cookie和session

    Cookie是什么?

    cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。

    创建Cookie

    setcookie()函数用于设置cookie

    注释:setcookie()函数必须位于<html>标签之前。

    实例1,创建名为 "user" 的 cookie,并为它赋值 "runoob"。我们也规定了此 cookie 在一小时后过期:

    <?php
    setcookie("user", "runoob", time()+3600);
    ?>
    
    <html>
    .....

    注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)

    实例2,我们还可以通过另一种方式设置 cookie 的过期时间。这也许比使用秒表示的方式简单。

    <?php
    $expire=time()+60*60*24*30;
    setcookie("user", "runoob", $expire);
    ?>
    
    <html>
    .....

    取回Cookie的值

    PHP的$_COOKIE变量用于取回cookie的值。

    在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:

    <?php
    // 输出 cookie 值
    echo $_COOKIE["user"];
    
    // 查看所有 cookie
    print_r($_COOKIE);
    ?>

    在下面的实例中,我们使用 isset() 函数来确认是否已设置了 cookie:

    <html>
    <head>
    <meta charset="utf-8">
    <title>PHP教程(runoob.com)</title>
    </head>
    <body>
    
    <?php
    if (isset($_COOKIE["user"]))
        echo "欢迎 " . $_COOKIE["user"] . "!<br>";
    else
        echo "普通访客!<br>";
    ?>
    
    </body>
    </html>

    删除 Cookie?

    当删除 cookie 时,您应当使过期日期变更为过去的时间点。

    <?php
    // 设置 cookie 过期时间为过去 1 小时
    setcookie("user", "", time()-3600);
    ?>

    PHP Session

    PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

    Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导

    用户信息存储到 PHP session 中之前,首先必须启动会话。

    开始PHP Session

    session_start() 函数必须位于 <html> 标签之前:

    <?php session_start(); ?>
     
    <html>
    <body>
     
    </body>
    </html>

    存储Session变量

    存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

    <?php
    session_start();
    // 存储 session 数据
    $_SESSION['views']=1;
    ?>
     
    <html>
    <head>
    <meta charset="utf-8">
    <title>PHP教程(runoob.com)</title>
    </head>
    <body>
     
    <?php
    // 检索 session 数据
    echo "浏览量:". $_SESSION['views'];
    ?>
     
    </body>
    </html>

    销毁 Session

    如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

    unset() 函数用于释放指定的 session 变量:

    实例

    <?php
    session_start();
    if(isset($_SESSION['views']))
    {
        unset($_SESSION['views']);
    }
    ?>

    或者调用session_destroy() 函数彻底销毁 session:

    <?php
    session_destroy();
    ?>
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    如何在一个类中定义一些常量,每个对象都可以方便访问这些常量而不用重新构造?
    __init__函数一定需要吗
    python 面向对象编程
    Linux 操作系统原理 — mmap() 进程虚拟内存映射
    在VSCode中刷leetcode
    MIMO 天线技术
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/11549608.html
Copyright © 2011-2022 走看看