• session与cookie


    <?php
    // page1.php

    session_start();

    echo 'Welcome to page #1';

    $_SESSION['favcolor'] = 'green';
    $_SESSION['animal']   = 'cat';
    $_SESSION['time']     = time();

    $expire = time() + 86400; // 设置24小时的有效期
    setcookie ("name", "dog",$expire); // 设置一个名字为var_name的cookie,并制定了有效期

    // Works if session cookie was accepted
    echo '<br /><a href="page2.php">page 2</a>';

    // Or maybe pass along the session id, if needed
    echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
    ?>
     
     
    <?php
    // page2.php

    session_start();

    echo 'Welcome to page #2<br />';

    echo $_SESSION['favcolor']; // green
    echo $_SESSION['animal'];   // cat
    echo date('Y m d H:i:s', $_SESSION['time']);

    // You may want to use SID here, like we did in page1.php
    echo '<br /><a href="page1.php">page 1</a>';
    ?>
     
     
     

    第一次访问page1.php页面时,服务端会返回一个session_id记录在用户的cookie里面,当用户方位这个网站的其他页面时,session_id就会被cookie附带的传递到其他页面,比如page2.php页面。当用户关掉了整个浏览器时才会重新生成新的session_id,比如,就算关闭了淘宝网的所有网站,但是浏览器没有重启,下次再访问淘宝, session_id还是没变的。要重启浏览器之后, 才会生成新的session_id.(难道session_id是保存在浏览器的内存里面的?)。session的数据存储在服务器,session的默认的有效时间是在php.ini里面设置的。

     
    cookie是保存在客户端的, cookie的有效时间是通过setcookie 设置的,比如第一次访问页面page1.php时,服务器会返回session_id的值,和key为name:dog的值,在cookie设置的24小时有效时间之内,cookie每次访问页面都会附带name的值,在24小时候之后,就会失效了;
     
    不同的浏览器之间是不共享cookie,session的;比如都访问www.taobao.com,一个使用谷歌浏览器,一个使用IE,两个浏览器得到的sessionid是不一样的。
  • 相关阅读:
    vim 的配置文件
    linux bash 的自动补全
    linux ping 命令
    linux 安装ifconfig
    dos exist 命令
    linux 用户的添加,组的添加,以及查看
    if else 的.bat 文件
    For 的.bat文件
    rmdir 的.bat文件
    dos set 命令
  • 原文地址:https://www.cnblogs.com/maxomnis/p/5584837.html
Copyright © 2020-2023  润新知