本文讲述了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实现用户登录的案例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网页设计网站的支持!