1
2
3
4
5
6
7
8
9
10
11

Cookie原理及使用

发布时间:2017-07-20 08:03   发布人:毛书朋   浏览次数:6089

Cookie原理及使用

关联课件:7子项目七 - Cookie原理及使用(点击在线预览)


7.3.1.1  Cookie机制的原理及使用   

       Cookie是一种在本地浏览器端储存数据并以此来跟踪和识别用户的机制。PHP透明地支持HTTP Cookie。从客户端发送的cookie都会被PHP 5自动加入$_COOKIE的全局数组。如果希望对一个Cookie变量设置多个值,则需在cookie的名称后加“["值名称"]”符号。

       下面来看一下Cookie的具体应用实例。

       先来建立一个用户登录的表单。

1:  <!--文件7-1.php:COOKIE实现用户登录的表单-->

2:  <HTML>

3:      <HEAD>

4:       <TITLE>COOKIE实现用户登录的表单</TITLE>

5:      </HEAD>

6:   <BODY>

7:   <form name="form1" method="post" action="7-1action.php">

8:   <table width="280" height="96" border="0" cellpadding=

 "0" cells: pacing="1" bgcolor="#999999">

9:       <tr>

10:          <td colspan="2" bgcolor="#FFFFFF">用户登录</td>

11:      </tr>

12:      <tr>

13:           <td bgcolor="#FFFFFF">用户名:</td>

14:           <td bgcolor="#FFFFFF">

15:              <input type="text" name="user_name" size="12">       

16:           </td>

17:         </tr>

18:         <tr>

19:          <td bgcolor="#FFFFFF">口令:</td>

20:          <td bgcolor="#FFFFFF">

21:         <input type=" password " name="user_pw" size="12"></td>

22:         </tr>

23:         <tr>

24:           <td colspan="2" bgcolor="#FFFFFF">

25:              <input type="submit" name="Submit" value="提交">&nbsp;

26:              <input type="reset" name="Submit2" value="重置"></td>

27:         </tr>

28:        </table>

29:     </form>

30:         </BODY>

31:   </HTML>

程序7-1.php的运行结果如图7-1所示。

7-1.png

图7-1  程序7-1.php的运行结果

       再建立一个名为“7-1action.php”的文件,在“7-1.php”文件中的第7行已经规定图7-3所示的用户填写的表单的内容要提交到“7-1action.php”文件中。也就是要在这个文件中利用Cookie模拟用户的登录是否成功。“7-1action.php”文件的详细代码如下。

1:  <?php

2:      //文件7-1action.php:COOKIE实现用户登录

3:      setcookie("user_name", $_POST[user_name]);

4:      setcookie("user_pw", $_POST[user_pw]);

5:  ?>

6:  <HTML>

7:       <HEAD>

8:           <TITLE>COOKIE实现用户登录</TITLE>

9:       </HEAD>

10:      <BODY>

11:           <?php

12:           if ($_POST["user_name"]=="php" && $_POST["user_pw"]=="php5"){

13:                 echo "恭喜您,用户名和口令正确,登录成功!";

14:                 echo "<a href=7-1action-check.php>单击检测Cookie的值是否可以页

间传递</a>" ;

15:          }else{

16:                echo "您输入的用户名和口令不正确,请<a href=7-1.php>返回</a>

请尝试:php和php5";

17:                 }

18:             echo "<br>您输入的用户名为:".$_COOKIE["user_name"];

19:             echo "<br>口令为:".$_COOKIE["user_pw"];

20:          ?>

21:     </BODY>

22: </HTML>

    “7-1action.php”程序中第8行和第9行是接受“7-1.php”程序中第15行和第21行表单传递的变量值,并注册为Cookie,此时“$_COOKIE["user_name"]”和“$_COOKIE ["user_pw"]”均为全局变量,只要是由程序“7-1action.php”声称的跳转过去的叶子这两个变量的值均可用。

      在图7-1中输入用户名“php”和密码“php5”后单击“提交”按钮会出现如图7-2所示的运行效果。

7-2.1.png

输入的不正确的用户名和口令

7-2.2.png

输入正确的用户名和口令

但当输入其他用户名和密码后点“提交”按钮会出现图7-3所示的运行结果

7-3.png

图7-3  程序7-1action.php的运行结果

        下面来检测一下在系统设为禁用的时,Cookie是否可以在不同的页间传递。建立一个名为“7-1action-check.php”的文件。在文件“7-1action.php”的第18行,我们需单击一个链接方可进行测试,而链接的目标文件为“7-1action.php-check.php”,文件“7-1action.php- check.php”的详细代码如下。

1:  <!--文件7-1action-check.php:COOKIE页间传递-->

2:  <HTML>

3:     <HEAD>

4:      <TITLE>COOKIE页间传递</TITLE>

5:     </HEAD>

6:     <BODY>

7:         <?php

8:             if ($_COOKIE["user_name"]!="" && $_COOKIE["user_pw"]!=""){

9:                 echo "Cookie页间传递成功!<br>";

10:                echo "您输入的用户名为:".$_COOKIE["user_name"];

11:                echo "<br>口令为:".$_COOKIE["user_pw"];

12:                 }else{

13:                     echo "Cookie页间传递失败,其值为空!<br>";

14:                     }

15:        ?>

16:     </BODY>

17:  </HTML>

        在IE的“工具”菜单中有“Internet选项”菜单项,打开后再选“安全”→“自定义级别”,将安全设置中的“允许使用每个对话cookies”设为禁用时,其运行结果如图7-4所示。

7-4.png

图7-4  将系统设为禁用cookies时程序7-1action-check.php的运行结果



  • 姜瑞祥 2018-01-07 17:27:38
    cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。
  • 甄丹丹 2018-01-09 16:37:23
    Cookie是一种在本地浏览器端储存数据并以此来跟踪和识别用户的机制。PHP透明地支持HTTP Cookie。从客户端发送的cookie都会被PHP 5自动加入$_COOKIE的全局数组。如果希望对一个Cookie变量设置多个值,则需在cookie的名称后加“["值名称"]”符号。
  • 李倩文 2018-01-10 12:00:59
    Cookie是一种在本地浏览器端储存数据并以此来跟踪和识别用户的机制。PHP透明地支持HTTP Cookie。从客户端发送的cookie都会被PHP 5自动加入$_COOKIE的全局数组。如果希望对一个Cookie变量设置多个值,则需在cookie的名称后加“["值名称"]”符号。