PHP實現使用者登入的案例代碼php執行個體

來源:互聯網
上載者:User
這篇文章主要介紹了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中文網的支援!


您可能感興趣的文章:

ThinkPHP防止重複提交表單的方法執行個體分析php執行個體

PHP使用PDO抽象層擷取查詢結果的方法樣本php技巧

PHP分頁顯示的方法分析【附PHP通用分頁類php技巧


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.