這篇文章主要介紹php如何實現用戶登陸功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
php實現用戶登陸簡單實例
前言:
最近要完成的最后一個部分,就是對用戶提交的數據進行管理,至于管理,那肯定就是管理員的事了,那一定涉及登陸,驗證賬號權限,賬號是否過期等等問題。
所需知識
session,確實是很重要的東西。并且我遇到session不能跨頁,修改PHP.ini的session.use_trans_sid = 0值為1。
具體實現
我的后臺設計的比較簡單,只需輸入一個密碼即可,這個密碼當然是保存在服務器可以更改的啦。所以只需要給session添加兩個變量,flag、time。
首先,用flag來確定管理員是否成功登陸,用time確定登陸是否超時。提交密碼后,如果正確會給flag賦值為1,time賦值為當前時間。每次進入新的頁面或進行操作時會對這兩個變量進行判斷,首先判斷flag值是否為1,不唯一直接提示未登陸,銷毀session,如果為1,再判斷當前時間-$_SESSION(‘time')是否小于600(10分鐘),若大于,提示登陸超時,銷毀session;若小于,允許操作,并更新time變量值為當前值。
部分代碼
check_pw.php
<?php
session_start();
$_SESSION['flag'] = 0;
$myfile = fopen("passwd","r") or die("Unable to open file!");
$passwd = fgets($myfile);
if(empty($_POST['pass'])){
echo "不能為空,重新輸入";
$page = "login.html";
}else{
$pass = $_POST['pass'];
$passwd = test_input($passwd);
$pass = test_input($pass);
if($pass == $passwd){
echo "口令正確,允許訪問";
$page = "list_all.php";
$_SESSION['flag'] = 1;
$_SESSION['time'] = time(); //當前秒數
}else{
echo "口令錯誤,重新輸入";
$page = "login.html";
}
}
function test_input($date){
$date = trim($date);
$date = stripcslashes($date);
$date = htmlspecialchars($date);
return $date;
}
?>
<a href="<?php echo $page;?>" rel="external nofollow" >點此跳轉</a>list_all.php(部分)
<?php
session_start();
if($_SESSION['flag'] == 1){
if(time() - $_SESSION['time'] > 600){
echo "登陸超時";
echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >點此登陸</a>';
session_destroy();
exit();
}else{
$_SESSION['time'] = time();
}
}else{
echo "未登陸,無權訪問!";
echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >點此登陸</a>';
session_destroy();
exit();
}
?>以上是“php如何實現用戶登陸功能”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。