Rumah > pembangunan bahagian belakang > tutorial php > PHP实现用户登录的案例代码php实例

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

jacklove
Lepaskan: 2023-04-01 19:28:01
asal
11959 orang telah melayarinya

这篇文章主要介绍了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>
Salin selepas log masuk


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;); 
  } 
 } 
?>
Salin selepas log masuk


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>"; 
 } 
?>
Salin selepas log masuk


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>"; 
?>
Salin selepas log masuk


登录界面:

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


您可能感兴趣的文章:

ThinkPHP防止重复提交表单的方法实例分析php实例

PHP使用PDO抽象层获取查询结果的方法示例php技巧

PHP分页显示的方法分析【附PHP通用分页类php技巧


Atas ialah kandungan terperinci PHP实现用户登录的案例代码php实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan