您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用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>"; ?>
登錄界面:
1、執行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數據庫。4、面向對象編程:PHP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
上述就是小編為大家分享的使用PHP怎么實現一個用戶登錄功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。