Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Fallcode für die Benutzeranmeldung

PHP-Fallcode für die Benutzeranmeldung

不言
不言Original
2018-06-01 13:55:541736Durchsuche

Dieser Artikel stellt hauptsächlich den Fallcode von PHP vor, um die Benutzeranmeldung zu implementieren. Er hat einen bestimmten Referenzwert. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

Dieser Artikel beschreibt den Fallcode von PHP zur Implementierung des Benutzer-Logins. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Anforderungsanalyse:

Bei der Entwicklung von Webanwendungen ist es häufig erforderlich, die Benutzeranmeldefunktion zu implementieren . Nehmen Sie einen Benutzer mit dem Namen „Benutzername“ an. Wenn der Benutzer die Homepage der Website betritt und sich nicht angemeldet hat, wird er auf der Seite zur Anmeldung aufgefordert. Wenn die Überprüfung erfolgreich ist, gelangt er zum Benutzercenter Andernfalls ist der Benutzername oder das Passwort falsch und er muss sich erneut anmelden. Nach erfolgreicher Anmeldung kann der Benutzer auch auf „Abmelden“ klicken, um zur Anmeldeseite zurückzukehren.

Programmierablaufdiagramm:

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

index.php

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

logout.php

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

Login-Schnittstelle:


Verwandte Empfehlungen:

PHP implementiert die Funktion zur Überprüfung des Anmeldebestätigungscodes

Das obige ist der detaillierte Inhalt vonPHP-Fallcode für die Benutzeranmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn