【读书笔记】PHP中使用会话控制

    1. 什么是会话控制?

     HTTP协议没有一个内建的机制来维护两个事务之间的状态。当一个用户在请求一个页面后再

请求另一个页面时,HTTP无法告知这两个请求是来自同一个用户。会话控制的思想是指能够在网

站中根据一个会话跟踪用户。如果可以做到这一点就可以很容易的做到对用户登录的支持,并根据

其授权级别和个人喜好显示相应的内容。我们可以根据会话控制记录该用户的行为,还可以实现购

物车。

 

    2. 基本的会话功能

    PHP的会话是通过唯一的会话ID来驱动的,会话ID是一个加密的随机数字。它由PHP生成,在

会话的生命周期中都会保存在客户端。它可以保存在用户机器的cookie中,或者通过URL在网络上

传递。

    会话ID就像一把钥匙,允许我们注册一些特定的变量,也称为会话变量。这些变量的内容保存在

服务器端。会话ID是客户端唯一可见的信息。如果在一次特定的网站连接中,客户端可以通过cookie

或URL看到会话ID,那我们就可以访问该会话保存在服务器上的会话变量。

 

   3. 什么是cookie

   cookie是一小段信息,它可以由脚本在客户端机器保存。可以通过发送一个包含特定数据并且具有

如下格式的HTTP标题头,从而在用户机器设置一个cookie:

   Set-Cookie: NAME = VALUE; [expires = DATE;] [path = PATH;]

   [domain = DOMAIN_NAME;] [secure]

  当浏览器连接一个URL时,首先要搜索当地保存的cookie,如果有任何与正在连接的URL相关的cookie

,浏览器将其提交到服务器。

   cookie的作用:当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户ID,密码

浏览过的网页,停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就

可以作出相应的动作,如在页面显示欢迎你的标语,或者不用输入ID,密码就可以直接登录等。

    4. 通过PHP设置cookie

   可以通过使用setcookie()函数在PHP中手动设置cookie。该函数原型如下所示:

   bool setcookie(string name[,string value [, int expire [, string path[, string domain [, int secure]]]]]);

   如果通过如下方式设置一个cookie:

   setcookie('mycookie', 'value');

   当用户访问站点中的下一页(或者重载当前页时),可以通过名为$_COOKIE['mycookie']来实现。

 

    5. 简单会话例子

     page1.php   ---启动一个会话并注册一个变量

     <?php

         session_start();

         $_SESSION['sess_var'] = “Hello, world!";

         echo'The content of $_SESSION[/'sess_var/'] is .$_SESSION['sess_var'].' <br/>;

      ?>

     <a href = "page2.php"> Next page</a>

    

     page2.php   ---访问一个会话变量并注销它

     <?php

     session_start();

     echo "The content of $_SESSION[/'sess_var/'] is ' .$_SESSION['sess_var']. '<br/>;

     unset($_SESSION['sess_var'];

     ?>

     <a href = page3.php"> Next Page </a>

   

     page3.php ---结束会话

     <?php

      session_start();

      echo 'The content of $_SESSION[/'sess_var/'] is .$_SESSION['sess_var']. ' <br/>';

      session_destroy();

     ?>

你可能感兴趣的:(【读书笔记】PHP中使用会话控制)