PHP實現(xiàn)用戶登錄的案例代碼
本文講述了PHP實現(xiàn)用戶登錄的案例代碼。分享給大家供大家參考,具體如下:
需求分析:
在Web應用開發(fā)中,經(jīng)常需要實現(xiàn)用戶登錄的功能。假設一個名為username的用戶,當該用戶進入網(wǎng)站首頁時,如果還未登錄,則頁面會提示登錄,用戶輸入登錄信息進行驗證,驗證通過進入用戶中心,否則顯示用戶名或密碼錯誤,重新登錄。登錄成功后,用戶還可以單擊“注銷”,回到登錄頁面。
程序設計流程圖:
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)用戶登錄的案例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Yii框架批量插入數(shù)據(jù)擴展類的簡單實現(xiàn)方法
這篇文章主要介紹了Yii框架批量插入數(shù)據(jù)擴展類的簡單實現(xiàn)方法,涉及Yii擴展類及數(shù)據(jù)庫相關操作技巧,需要的朋友可以參考下2017-05-05
thinkPHP框架實現(xiàn)類似java過濾器的簡單方法示例
這篇文章主要介紹了thinkPHP框架實現(xiàn)類似java過濾器的簡單方法,結合實例形式分析了thinkPHP基于繼承實現(xiàn)的登錄驗證功能相關操作方法,需要的朋友可以參考下2018-09-09
關于PHP 如何用 curl 讀取 HTTP chunked 數(shù)據(jù)
通過本文給大家介紹php用curl讀取http chunked數(shù)據(jù)的方法,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧2016-02-02
讓CodeIgniter的ellipsize()支持中文截斷的方法
CodeIgniter的Text Helper有一個ellipsize()方法,用來過濾HTML標簽并且截斷文字十分好用。但是它對中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。這篇文章主要介紹了讓CodeIgniter的ellipsize()支持中文截斷的方法,需要的朋友可以參考下2014-06-06
php 判斷過去離現(xiàn)在幾年的函數(shù)(實例代碼)
下面小編就為大家?guī)硪黄猵hp 判斷過去離現(xiàn)在幾年的函數(shù)(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
php實現(xiàn)爬取和分析知乎用戶數(shù)據(jù)
本文給大家介紹的是利用php的curl編寫的爬取知乎用戶數(shù)據(jù)的爬蟲,并分析用戶的各種屬性,有需要的小伙伴可以參考下2016-01-01
關于php中的json_encode()和json_decode()函數(shù)的一些說明
下面小編就為大家?guī)硪黄P于php中的json_encode()和json_decode()函數(shù)的一些說明。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

