首页> 基础笔记 >PHP基础学习 >常用功能块 常用功能块

基于Cookie的用户登录模块

作者:小萝卜 2019-08-30 浏览 965

简介基于Cookie的用户登录模块

基于Cookie的用户登录模块

登录页面
<html>
     <head>
           <title>用户登录</title>
     </head>
     <body>
           <h2>用户登录</h2>
           <form action="login.php?action=login" method="post">
            用户名 <input type="text" name="username" /> <br>
            密&nbsp;&nbsp;&nbsp;&nbsp;码 
             <input type="password" name="password" /><br>
             <input type="submit" value="登录" /> 
            </form>
     </body>
</html>

login.php

/* 声明一个删除Cookie的函数,调用时清除在客户端设置的所有Cookie */
 function clearCookies() { 
        setCookie('username', '', time()-3600); //删除Cookie中的标识符为username的变量 
        setCookie('isLogin', '', time()-3600); //删除Cookie中的标识符为isLogin的变量 
  } 
 /* 判断用户是否执行的是登录操作 */
  if($_GET["action"]=="login") { 
        /* 调用时清除在客户端先前设置的所有Cookie */
        clearCookies(); 
        /* 检查用户是否为admin,并且密码是否等于123456 */ 
        if($_POST["username"]=="admin" && $_POST["password"]=="123456") { 
             /* 向Cookie中设置标识符为username,值是表单中提交的,期限为一周 */ 
             setCookie('username', $_POST["username"], time()+60*60*24*7); 
             /* 向Cookie中设置标识符为isLogin,用来在其他页面检查用户是否登录 */ 
             setCookie('isLogin', '1', time()+60*60*24*7); 
             /* 如果Cookie设置成功则转向网站首页 */ 
             header("Location:index.php"); 
        }else{ 
             die("用户名或密码错误!"); } /* 判断用户是否执行的是退出操作 */ 
  }else if($_GET["action"]=="logout"){ 
        clearCookies(); /* 退出时清除在客户端设置的所有Cookie */ 
  }

状态显示页面

<?php
      /* 如果用户没有通过身份验证,页面跳转至登录页面 */        
      if(!(isset($_COOKIE['isLogin']) && $_COOKIE['isLogin'] == '1')) { 
          header("Location:login.php"); exit; 
      } 
?> 
<html>
    <head>
         <title>网站主页面</title>
    </head>
    <body> 
         <?php /* 从Cookie中获取用户名username */ 
                echo '您好:'.$_COOKIE["username"];
          ?> 
         <a href="login.php?action=logout">退出</a> 
         <p>这里显示网页的主体内容</p> 
     </body>
</html>

很赞哦! (0)

文章评论

    高端网站建设