php實現用戶登陸簡單實例

介紹了php實現用戶登陸簡單實例的相關資料,需要的朋友可以參考下,希望對大家有所幫助!

php實現用戶登陸簡單實例

前言:

最近要完成的最後一個部分,就是對用戶提交的數據進行管理,至於管理,那肯定就是管理員的事了,那一定涉及登陸,驗證賬號權限,賬號是否過期等等問題。

所需知識

session,確實是很重要的`東西。並且我遇到session不能跨頁,修改的_trans_sid = 0值爲1。

具體實現

我的後臺設計的比較簡單,只需輸入一個密碼即可,這個密碼當然是保存在服務器可以更改的啦。所以只需要給session添加兩個變量,flag、time。

首先,用flag來確定管理員是否成功登陸,用time確定登陸是否超時。提交密碼後,如果正確會給flag賦值爲1,time賦值爲當前時間。每次進入新的頁面或進行操作時會對這兩個變量進行判斷,首先判斷flag值是否爲1,不唯一直接提示未登陸,銷燬session,如果爲1,再判斷當前時間-$_SESSION(‘time')是否小於600(10分鐘),若大於,提示登陸超時,銷燬session;若小於,允許操作,並更新time變量值爲當前值。

部分代碼

check_

<?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 = "";

}else{

$pass = $_POST['pass'];

$passwd = test_input($passwd);

$pass = test_input($pass);

if($pass == $passwd){

echo "口令正確,允許訪問";

$page = "list_";

$_SESSION['flag'] = 1;

$_SESSION['time'] = time(); //當前秒數

}else{

echo "口令錯誤,重新輸入";

$page = "";

}

}

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_(部分)

?

<?php

session_start();

if($_SESSION['flag'] == 1){

if(time() - $_SESSION['time'] > 600){

echo "登陸超時";

echo '<a href="" rel="external nofollow" rel="external nofollow" >點此登陸</a>';

session_destroy();

exit();

}else{

$_SESSION['time'] = time();

}

}else{

echo "未登陸,無權訪問!";

echo '<a href="" rel="external nofollow" rel="external nofollow" >點此登陸</a>';

session_destroy();

exit();

}

?>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!