這篇文章主要介紹了PHP實現用戶登入的案例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧
本文講述了PHP實作使用者登入的案例程式碼。分享給大家供大家參考,具體如下:
需求分析:
#在網路應用程式開發中,常需要實作使用者登入的功能。假設一個名為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技巧
############################以上是PHP實作使用者登入的案例代碼php實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!