一.在分析session和cookie的基本用法之前,先了解一下两者之间的比较:

  1. session:存储用户访问的全局唯一变量,存储在服务器上的php指定的目录(session_dir)[个人主机则存储在php/tmp文件夹中]进行存放;
  2. cookie用来存储连续访问一个页面时所使用,存储在客户端,对于cookie是存储在用户WIN/temp下;
  3. session和cookie都可以通过时间设置过期时间,不同的是session过期时间是通过cookie进行设置的(setcookie()函数);
  4. session信息可以通过cookie方式进行存储(即将session信息存储到客户端,多用于游客状态下添加购物车),默认采用sessionID的命名方式进行存储.

二.session的简单使用

1 <?php
2 //建立session.php文件进行session处理
3 //开启会话 ,存储数据
4 session_start();
5 $_SESSION['user']='zhangsan';
6 ?>
1 <?php
2 //前台showsession.php文件session输出
3 session_start();
4 var_dump($_SESSION['user']);
5 unset($_SESSION['user']);//销毁会话之前手动释放session,即先释放后销毁
6 session_destroy();  //销毁会话

先执行session.php文件存储一个session信息,然后执行showsession.php,如果想要设置session一个过期时间,需要在session.php文件添加一行代码:

  setcookie(session_name(),session_id(),time()+3600);  //设置过期时间为一个小时

PS:session本质是存储信息到服务器中,每次使用都需要先session_start()开启session回话,如果要删除session,第一步是释放->unset(),第二步才是销毁->session_destroy().另外使用session可以防止表单重复验证.

三.cookie的简单使用

  cookie常用于识别用户,是一种服务器留在用户计算机(客户端)上的包含信息的小文件,cookie只有一个函数->setcookie()

1 <?
2 //setcookie(name, value, expire, path, domain);
3 //key:user;value:zhansan;过期时间:10秒
4 setcookie('user','zhangsan',  time()+10);
5 
6 //打印输出
7 var_dump($_COOKIE);
8 ?>

最后,给大家一个使用cookie实现的小功能,不经过数据库直接进行判断登录的代码:

1 <?php
 2     //登录逻辑
 3     if(isset($_POST['user'])){
 4         $user=$_POST['user'];
 5         $pwd=$_POST['pwd'];
 6         if($user!=NULL&&$pwd!=NULL){
 7             //登陆成功
 8             $loginCode = md5($user.$pwd);
 9             setcookie('loginCode',$loginCode,  time()+100);//证明已经登录
10             setcookie('user',$user,  time()+100);//自动登录实时显示用户名称
11             echo '欢迎'.$user.'登陆成功';exit;
12         }  else {
13             //用户名和密码不能为空
14             echo '用户和密码不能为空';
15             exit;
16         }
17     }
18     //自动登录判断 :   通过设置过期时间进行判断
19     if(isset($_COOKIE['loginCode'])){
20         echo '欢迎'.$_COOKIE['user'].'自动登陆成功';
21                 exit();
22     }
23 ?>
24 <html>
25     <head>
26         <meta charset="UTF-8">
27         <title>Document</title>
28     </head>
29     <body>
30         <form action="login.php" method="post">
31             用户名:
32             <input type="text" name="user">
33             密码:
34             <input type="password" name="pwd">
35             <input type="submit" value="登录">
36         </form>
37     </body>
38 </html>

本次cookie和session相关信息的学习就到这儿了~回见,大家@loveless1210

用最好的语言,编织最美的世界