本文講述了PHP實現(xiàn)用戶登錄的案例代碼。分享給大家供大家參考,具體如下:
需求分析:
在Web應(yīng)用開發(fā)中,經(jīng)常需要實現(xiàn)用戶登錄的功能。假設(shè)一個名為username的用戶,當(dāng)該用戶進入網(wǎng)站首頁時,如果還未登錄,則頁面會提示登錄,用戶輸入登錄信息進行驗證,驗證通過進入用戶中心,否則顯示用戶名或密碼錯誤,重新登錄。登錄成功后,用戶還可以單擊“注銷”,回到登錄頁面。
程序設(shè)計流程圖:
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天內(nèi)自動登錄
/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秒后跳轉(zhuǎn)到登錄頁面";
exit;
}
else if(($username!='username')||($password!='password'))
{
//用戶名或密碼錯誤
header('refresh:3;url=login.html');
echo "用戶名或密碼錯誤,3秒后跳轉(zhuǎn)到登錄頁面";
exit;
}
else if(($username=='username')($password=='password'))
{
//登錄成功將信息保存到session中
$_SESSION['username']=$username;
$_SESSION['islogin']=1;
//如果勾選7天內(nèi)自動保存,則將其保存到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);
}
//跳轉(zhuǎn)到用戶首頁
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']))
{
//已經(jīng)登錄
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實現(xiàn)用戶登錄的案例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- php+mysql實現(xiàn)簡單登錄注冊修改密碼網(wǎng)頁
- php中實現(xiàn)記住密碼自動登錄的代碼
- PHP 登錄完成后如何跳轉(zhuǎn)上一訪問頁面
- php新浪微博登錄接口用法實例
- PHP實現(xiàn)QQ快速登錄的方法
- php注冊和登錄界面的實現(xiàn)案例(推薦)
- 使用PHP會話(Session)實現(xiàn)用戶登陸功能
- php下使用curl模擬用戶登陸的代碼