PHP实现用户登录的案例代码

本文讲述了PHP实现用户登录的案例代码。分享给大家供大家参考,具体如下:

需求分析:

在Web应用开发中,经常需要实现用户登录的功能。假设一个名为username的用户,当该用户进入网站首页时,如果还未登录,则页面会提示登录,用户输入登录信息进行验证,验证通过进入用户中心,否则显示用户名或密码错误,重新登录。登录成功后,用户还可以单击“注销”,回到登录页面。

程序设计流程图:

login.html

<!DOCUMENT html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http 
://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> 
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"> 
<head> 
 <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> 
 <title>会员登录</title> 
 <style type=\"text/css\"> 
  ul li{margin:0;padding:0;} 
  form{margin:40px 30px 0;} 
  form li{list-style:none;padding:5px 0;} 
  form li label{float:left;width:70px;text-align:right} 
  form li a{font-size:12px;color:#999;text-decoration:none} 
  .login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;} 
  form li img{vertical-align:top} 
 </style> 
 
</head> 
<body> 
<form action=\"login.php\" method=\"POST\"> 
 <fieldset> 
  <legend>用户登录</legend> 
  <ul> 
   <li> 
    <label for\"\">用户名:</label> 
    <input type=\"text\" name=\"username\"/> 
   </li> 
   <li> 
    <label for\"\">密码:</label> 
    <input type=\"password\" name=\"password\"/> 
   </li> 
   <li> 
    <label for\"\"> </label> 
    <input type=\"checkbox\" name=\"remember\" value=\"yes\"/>7天内自动登录 
   </li> 
   <li> 
    <label for\"\"> </label> 
    <input type=\"submit\" name=\"login\" value=\"登录\" class=\"login_btn\"/> 
   </li> 
  </ul> 
 </fieldset> 
</body> 
 
</html>

login.php

<?php 
 header(\"Content-Type:text/html;charset=utf-8\"); 
 session_start(); 
 if(isset($_POST[\'login\'])) 
 { 
  $username = trim($_POST[\'username\']); 
  $password = trim($_POST[\'password\']); 
  if(($username==\'\')||($password==\'\')) 
  { 
   header(\'refresh:3;url=login.html\'); 
   echo \"改用户名或密码不能为空,3秒后跳转到登录页面\"; 
   exit; 
  } 
  else if(($username!=\'username\')||($password!=\'password\')) 
  { 
   //用户名或密码错误 
   header(\'refresh:3;url=login.html\'); 
   echo \"用户名或密码错误,3秒后跳转到登录页面\"; 
   exit; 
  } 
  else if(($username==\'username\')&&($password==\'password\')) 
  { 
   //登录成功将信息保存到session中 
   $_SESSION[\'username\']=$username; 
   $_SESSION[\'islogin\']=1; 
   //如果勾选7天内自动保存,则将其保存到cookie 
   if($_POST[\'remember\']==\"yes\") 
   { 
    setcookie(\"username\",$username,time()+7*24*60*60); 
    setcookie(\"code\",md5($username.md5($password)),time()+7*24*60*60); 
   } 
   else 
   { 
    setcookie(\"username\",\'\',time()-1); 
    setcookie(\"code\",\'\',time()-1); 
   } 
   //跳转到用户首页 
   header(\'refresh:3;url=index.php\'); 
  } 
 } 
?>

index.php

<?php 
 header(\"Content-Type:text/html;charset=utf-8\"); 
 session_start(); 
 //首先判断Cookie是否有记住用户信息 
 if(isset($_COOKIE[\'username\'])) 
 { 
  $_SESSION[\'username\']=$_COOKIE[\'username\']; 
  $_SESSION[\'islogin\']=1; 
 } 
 if(isset($_SESSION[\'islogin\'])) 
 { 
  //已经登录 
  echo $_SESSION[\'username\'].\":你好,欢迎进入个人中心!<br/>\"; 
  echo \"<a href=\'logout.php\'>注销</a>\"; 
 } 
 else 
 { //为登录 
  echo \"你还未登录,请<a href=\'login.html\'>登录</a>\"; 
 } 
?> 

logout.php

<?php 
 header(\"Content-Type:text/html;charset=utf-8\"); 
 session_start(); 
 //清除session 
 $username=$_SESSION[\'username\']; 
 $_SESSION=array(); 
 session_destroy(); 
 //清除cookie 
 setcookie(\"username\",\'\',time()-1); 
 setcookie(\"code\",\'\',time()-1); 
 echo \"$username,欢迎下次光临\"; 
 echo \"重新<a href=\'login.html\'>登录</a>\"; 
?> 

登录界面:

PHP实现用户登录的案例代码

PHP实现用户登录的案例代码

PHP实现用户登录的案例代码

以上所述是小编给大家介绍的PHP实现用户登录的案例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对免费资源网网站的支持!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容