2016/04/18 session cookie 对比 应用 <?php session_start() / setcookie()?>
①会话 huihua.php
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <?php 9 session_start(); 10 //存储SESSION信息 作用范围全局所有页面 11 $_SESSION["uid"]="123"; 12 $_SESSION["name"]="张三"; 13 echo $_SESSION["uid"]; 14 // session 15 // 1,存储在服务器 16 // 2,可以存放任何类型的数据 17 // 3,默认过期时间,默认15分钟 18 // 4,每个登陆者都会存一份 19 20 //session 的用法: 21 //1,可以用来在页面之间传值 22 //登录传用户名可以用到,购物车可以用到,流程 23 //2,可以记录登录者的状态 24 //3,可以防止用户跳过登录 25 26 //cookie 27 //1,存储在客户端 28 //2,只能存放字符串 29 //3,默认是永久,可设置过期时间 30 //4,每个登陆者都会存一份 31 32 ?> 33 </body> 34 </html>
②登录 denglu.php
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>登录</title> 6 </head> 7 <body> 8 <form action="dengluchuli.php" method="post"> 9 <div>用户名:<input type="text" name="uid"></div> 10 <div>密码:<input type="text" name="pwd"></div> 11 <div><input type="submit" value="登录"></div> 12 </form> 13 </body> 14 </html>
dengluchuli.php
1 <?php 2 session_start(); 3 $uid=$_POST["uid"]; 4 //中间查询数据库,判断用户名密码是否匹配 5 //如果匹配 6 $_SESSION["uid"]=$uid; 7 header("location:main.php"); 8 ?> 9 10 <?php 11 //$uid=$_POST["uid"]; 12 //setcookie("uid",$uid); 13 //header("location:main.php") 14 //cookie的用法 15 ?>
③主页 如果直接跳转主页 而没有session或cookie值 则调回登录页面
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>main</title> 6 </head> 7 <body> 8 <?php 9 session_start(); 10 //防止用户跳过登录 11 if (!empty($_SESSION["uid"])) { 12 13 } 14 else{ 15 header("Location:denglu.php"); 16 } 17 echo $_SESSION["uid"]; 18 19 ?> 20 </body> 21 </html>