当前位置:首页 > 综合实例 > 列表

PHP实现简单登录界面

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-15 19:44:52 浏览: 评论:0 

这篇文章主要为大家详细介绍了PHP实现简单登录界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

PHP学习路上的第一个完整的极小极小的项目,特意做个记录

登录界面:

PHP登录界面

html代码(login.html):

  1. <form action="login.php" method="post"
  2.  <fieldset> 
  3.   <legend>用户登录</legend> 
  4.   <ul> 
  5.   <li> 
  6.    <label>用户名:</label> 
  7.    <input type="text" name="username"
  8.   </li> 
  9.   <li> 
  10.    <label>密  码:</label> 
  11.    <input type="password" name="password"
  12.   </li> 
  13.   <li> 
  14.    <label> </label> 
  15.    <input type="checkbox" name="remember" value="yes">7天内自动登录 
  16.   </li> 
  17.   <li> 
  18.    <label> </label> 
  19.    <input type="submit" name="login" value="登录"
  20.   </li> 
  21.   </ul> 
  22.  </fieldset> 
  23.  </form> 

login.php:(登陆处理页)

  1. <?php  
  2.  header('Content-type:text/html; charset=utf-8'); 
  3.  // 开启Session 
  4.  session_start(); 
  5.    
  6.  // 处理用户登录信息 
  7.  if (isset($_POST['login'])) { 
  8.  # 接收用户的登录信息 
  9.  $username = trim($_POST['username']); 
  10.  $password = trim($_POST['password']); 
  11.  // 判断提交的登录信息 
  12.  if (($username == '') || ($password == '')) { 
  13.   // 若为空,视为未填写,提示错误,并3秒后返回登录界面 
  14.   header('refresh:3; url=login.html'); 
  15.   echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!"
  16.   exit
  17.  } elseif (($username != 'username') || ($password != 'password')) { 
  18.   # 用户名或密码错误,同空的处理方式 
  19.   header('refresh:3; url=login.html'); 
  20.   echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!"
  21.   exit
  22.  } elseif (($username = 'username') && ($password = 'password')) { 
  23.   # 用户名和密码都正确,将用户信息存到Session中 
  24.   $_SESSION['username'] = $username
  25.   $_SESSION['islogin'] = 1; 
  26.   // 若勾选7天内自动登录,则将其保存到Cookie并设置保留7天 
  27.   if ($_POST['remember'] == "yes") { 
  28.   setcookie('username'$username, time()+7*24*60*60); 
  29.   setcookie('code', md5($username.md5($password)), time()+7*24*60*60); 
  30.   } else { 
  31.   // 没有勾选则删除Cookie 
  32.   setcookie('username''', time()-999); 
  33.   setcookie('code''', time()-999); 
  34.   } 
  35.   // 处理完附加项后跳转到登录成功的首页 
  36.   header('location:index.php'); 
  37.  } 
  38.  } 
  39.  ?> 

index.php(默认主页):

  1. <?php  
  2.  header('Content-type:text/html; charset=utf-8'); 
  3.  // 开启Session 
  4.  session_start(); 
  5.    
  6.  // 首先判断Cookie是否有记住了用户信息 
  7.  if (isset($_COOKIE['username'])) { 
  8.  # 若记住了用户信息,则直接传给Session 
  9.  $_SESSION['username'] = $_COOKIE['username']; 
  10.  $_SESSION['islogin'] = 1; 
  11.  } 
  12.  if (isset($_SESSION['islogin'])) { 
  13.  // 若已经登录 
  14.  echo "你好! ".$_SESSION['username'].' ,欢迎来到个人中心!<br>'
  15.  echo "<a href='logout.php'>注销</a>"
  16.  } else { 
  17.  // 若没有登录 
  18.  echo "您还没有登录,请<a href='login.html'>登录</a>"
  19.  } 
  20.  ?> 

logout.php注销页

  1. <?php  
  2.  header('Content-type:text/html; charset=utf-8'); 
  3.  // 注销后的操作 
  4.  session_start(); 
  5.  // 清除Session 
  6.  $username = $_SESSION['username']; //用于后面的提示信息 
  7.  $_SESSION = array(); 
  8.  session_destroy(); 
  9.    
  10.  // 清除Cookie 
  11.  setcookie('username''', time()-99); 
  12.  setcookie('code''', time()-99); 
  13.    
  14.  // 提示信息 
  15.  echo "欢迎下次光临, ".$username.'<br>'
  16.  echo "<a href='login.html'>重新登录</a>"
  17.    
  18.  ?> 

登录成功的状态:

PHP登录界面

若勾选7天内自动登录,则会将登录信息通过Cookie和Session技术保存在本地Cookie文件中,7天内会自动登录。

注销页面:

PHP登录界面

登录错误的几种情况都做了处理:

PHP登录界面

Tags: PHP登录界面

分享到: