溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何實(shí)現(xiàn)用戶登陸功能

發(fā)布時(shí)間:2021-06-20 08:33:01 來源:億速云 閱讀:170 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹php如何實(shí)現(xiàn)用戶登陸功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

php實(shí)現(xiàn)用戶登陸簡單實(shí)例

前言:

最近要完成的最后一個(gè)部分,就是對(duì)用戶提交的數(shù)據(jù)進(jìn)行管理,至于管理,那肯定就是管理員的事了,那一定涉及登陸,驗(yàn)證賬號(hào)權(quán)限,賬號(hào)是否過期等等問題。

所需知識(shí)

session,確實(shí)是很重要的東西。并且我遇到session不能跨頁,修改PHP.ini的session.use_trans_sid = 0值為1。

具體實(shí)現(xiàn)

我的后臺(tái)設(shè)計(jì)的比較簡單,只需輸入一個(gè)密碼即可,這個(gè)密碼當(dāng)然是保存在服務(wù)器可以更改的啦。所以只需要給session添加兩個(gè)變量,flag、time。

首先,用flag來確定管理員是否成功登陸,用time確定登陸是否超時(shí)。提交密碼后,如果正確會(huì)給flag賦值為1,time賦值為當(dāng)前時(shí)間。每次進(jìn)入新的頁面或進(jìn)行操作時(shí)會(huì)對(duì)這兩個(gè)變量進(jìn)行判斷,首先判斷flag值是否為1,不唯一直接提示未登陸,銷毀session,如果為1,再判斷當(dāng)前時(shí)間-$_SESSION(‘time')是否小于600(10分鐘),若大于,提示登陸超時(shí),銷毀session;若小于,允許操作,并更新time變量值為當(dāng)前值。

部分代碼

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(); //當(dāng)前秒數(shù)
  }else{
    echo "口令錯(cuò)誤,重新輸入";
    $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" >點(diǎn)此跳轉(zhuǎn)</a>

list_all.php(部分)

<?php
session_start();
if($_SESSION['flag'] == 1){
  if(time() - $_SESSION['time'] > 600){
    echo "登陸超時(shí)";
    echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >點(diǎn)此登陸</a>';
    session_destroy();
    exit();
  }else{
  $_SESSION['time'] = time();
  }
}else{
  echo "未登陸,無權(quán)訪問!";
  echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >點(diǎn)此登陸</a>';
  session_destroy();
  exit();
}
?>

以上是“php如何實(shí)現(xiàn)用戶登陸功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI