當前位置:首頁 > PHP源碼 > 列表

PHP實現用戶登錄的案例代碼

發布:smiling 來源: PHP粉絲網  添加日期:2018-10-17 09:51:25 瀏覽: 評論:0 

本文講述了PHP實現用戶登錄的案例代碼。分享給大家供大家參考,具體如下:

需求分析:

在Web應用開發中,經常需要實現用戶登錄的功能。假設一個名為username的用戶,當該用戶進入網站首頁時,如果還未登錄,則頁面會提示登錄,用戶輸入登錄信息進行驗證,驗證通過進入用戶中心,否則顯示用戶名或密碼錯誤,重新登錄。登錄成功后,用戶還可以單擊“注銷”,回到登錄頁面。

程序設計流程圖:

login.html

  1. <!DOCUMENT html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http  
  2. ://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">  
  4. <head>  
  5.  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>  
  6.  <title>會員登錄</title>  
  7.  <style type="text/<a href="http://www.111cn.net/cssdiv/css.html" class="anchor" target="_blank">css</a>">  
  8.   ul li{margin:0;padding:0;}  
  9.   form{margin:40px 30px 0;}  
  10.   form li{list-style:none;padding:5px 0;}  
  11.   form li label{float:left;width:70px;text-align:right}  
  12.   form li a{font-size:12px;color:#999;text-decoration:none}  
  13.   .login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;}  
  14.   form li img{vertical-align:top}  
  15.  </style>  
  16.    
  17. </head>  
  18. <body>  
  19. <form action="login.php" method="POST">  
  20.  <fieldset>  
  21.   <legend>用戶登錄</legend>  
  22.   <ul>  
  23.    <li>  
  24.     <label for"">用戶名:</label>  
  25.     <input type="text" name="username"/>  
  26.    </li>  
  27.    <li>  
  28.     <label for"">密碼:</label>  
  29.     <input type="password" name="password"/>  
  30.    </li>  
  31.    <li>  
  32.     <label for""> </label>  
  33.     <input type="checkbox" name="remember" value="yes"/>7天內自動登錄  
  34.    </li>  
  35.    <li>  
  36.     <label for""> </label>  
  37.     <input type="submit" name="login" value="登錄" class="login_btn"/>  
  38.    </li>  
  39.   </ul>  
  40.  </fieldset>  
  41. </body>  
  42.    
  43. </html> 

login.php

  1. <?php  
  2.  header("Content-Type:text/html;charset=utf-8");  
  3.  session_start();  
  4.  if(isset($_POST['login']))  
  5.  {  
  6.   $username = trim($_POST['username']);  
  7.   $password = trim($_POST['password']);  
  8.   if(($username=='')||($password==''))  
  9.   {  
  10.    header('refresh:3;url=login.html');  
  11.    echo "改用戶名或密碼不能為空,3秒后跳轉到登錄頁面";  
  12.    exit;  
  13.   }  
  14.   else if(($username!='username')||($password!='password'))  
  15.   {  
  16.    //用戶名或密碼錯誤  
  17.    header('refresh:3;url=login.html');  
  18.    echo "用戶名或密碼錯誤,3秒后跳轉到登錄頁面";  
  19.    exit;  
  20.   }  
  21.   else if(($username=='username')&&($password=='password'))  
  22.   {  
  23.    //登錄成功將信息保存到session中  
  24.    $_SESSION['username']=$username;  
  25.    $_SESSION['islogin']=1;  
  26.    //如果勾選7天內自動保存,則將其保存到cookie  
  27.    if($_POST['remember']=="yes")  
  28.    {  
  29.     setcookie("username",$username,time()+7*24*60*60);  
  30.     setcookie("code",md5($username.md5($password)),time()+7*24*60*60);  
  31.    } //phpfensi.com 
  32.    else 
  33.    {  
  34.     setcookie("username",'',time()-1);  
  35.     setcookie("code",'',time()-1);  
  36.    }  
  37.    //跳轉到用戶首頁  
  38.    header('refresh:3;url=index.php');  
  39.   }  
  40.  }  
  41. ?> 

index.php

  1. <?php  
  2.  header("Content-Type:text/html;charset=utf-8");  
  3.  session_start();  
  4.  //首先判斷Cookie是否有記住用戶信息  
  5.  if(isset($_COOKIE['username']))  
  6.  {  
  7.   $_SESSION['username']=$_COOKIE['username'];  
  8.   $_SESSION['islogin']=1;  
  9.  }  
  10.  if(isset($_SESSION['islogin']))  
  11.  {  
  12.   //已經登錄  
  13.   echo $_SESSION['username'].":你好,歡迎進入個人中心!<br/>";  
  14.   echo "<a href='logout.php'>注銷</a>";  
  15.  }  
  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.  session_start();  
  4.  //清除session  
  5.  $username=$_SESSION['username'];  
  6.  $_SESSION=array();  
  7.  session_destroy();  
  8.  //清除cookie  
  9.  setcookie("username",'',time()-1);  
  10.  setcookie("code",'',time()-1);  
  11.  echo "$username,歡迎下次光臨";  
  12.  echo "重新<a href='login.html'>登錄</a>";  
  13. ?> 

登錄界面:

PHP實現用戶登錄的案例代碼

PHP實現用戶登錄的案例代碼

Tags: PHP用戶登錄 PHP案例代碼

分享到:

福利彩票25选5开奖结果