這篇文章主要介紹了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實現使用者登陸簡單的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!