<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            php實現用戶登陸簡單實例

            時間:2025-05-13 07:20:46 php語言 我要投稿
            • 相關推薦

            php實現用戶登陸簡單實例

              最近學習中要使用PHP+MySql實現簡單登錄注冊,看了很多簡單案例后發現,并沒有人通過PDO實現簡單登錄注冊,要么就是Mysql和MySqli實現,就算實現了意義也不大,js就可以做的事情,沒必要放到PHP中去,我卻偏偏不相信,保留著一股倔勁,簡單的實現了登錄注冊,下面是小編為大家整理的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;

              }

              點此跳轉

              list_all.php(部分)

              ?

              ?php  session_start();

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

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

              echo "登陸超時";

              echo '點此登陸';

              session_destroy();

              exit();

              }else{

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

              }

              }else{

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

              echo '點此登陸';

              session_destroy();

              exit();

              }

              HTML代碼(login.html):

              用戶登錄

              7天內自動登錄

              login.PHP:(登陸處理頁)

              <?PHP

              header('Content-type:text/html; charset=utf-8');

              // 開啟Session

              session_start();

              // 處理用戶登錄信息

              if (isset($_POST['login'])) {

              # 接收用戶的登錄信息

              $username = trim($_POST['username']);

              $password = trim($_POST['password']);

              // 判斷提交的登錄信息

              if (($username == '') || ($password == '')) {

              // 若為空,視為未填寫,提示錯誤,并3秒后返回登錄界面

              header('refresh:3; url=login.html');

              echo "用戶名或密碼不能為空,系統將在3秒后跳轉到登錄界面,請重新填寫登錄信息!";

              exit;

              } elseif (($username != 'username') || ($password != 'password')) {

              # 用戶名或密碼錯誤,同空的處理方式

              header('refresh:3; url=login.html');

              echo "用戶名或密碼錯誤,系統將在3秒后跳轉到登錄界面,請重新填寫登錄信息!";

              exit;

              } elseif (($username = 'username') && ($password = 'password')) {

              # 用戶名和密碼都正確,將用戶信息存到Session中

              $_SESSION['username'] = $username;

              $_SESSION['islogin'] = 1;

              // 若勾選7天內自動登錄,則將其保存到Cookie并設置保留7天

              if ($_POST['remember'] == "yes") {

              setcookie('username', $username, time()+7*24*60*60);

              setcookie('code', md5($username.md5($password)), time()+7*24*60*60);

              } else {

              // 沒有勾選則刪除Cookie

              setcookie('username', '', time()-999);

              setcookie('code', '', time()-999);

              }

              // 處理完附加項后跳轉到登錄成功的首頁

              header('location:index.PHP');

              }

              }

              ?>

              index.PHP(默認主頁):

              <?PHP

              header('Content-type:text/html; charset=utf-8');

              // 開啟Session

              session_start();

              // 首先判斷Cookie是否有記住了用戶信息

              if (isset($_COOKIE['username'])) {

              # 若記住了用戶信息,則直接傳給Session

              $_SESSION['username'] = $_COOKIE['username'];

              $_SESSION['islogin'] = 1;

              }

              if (isset($_SESSION['islogin'])) {

              // 若已經登錄

              echo "你好! ".$_SESSION['username'].' ,歡迎來到個人中心!

              ';

              echo "注銷";

              } else {

              // 若沒有登錄

              echo "您還沒有登錄,請登錄";

              }

              ?>

              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()-99);

              setcookie('code', '', time()-99);

              // 提示信息

              echo "歡迎下次光臨, ".$username.'

              ';

              echo "重新登錄";

              ?>

            【php實現用戶登陸簡單實例】相關文章:

            PHP中使用crypt()實現用戶身份驗證的實例09-03

            php實現偽靜態的方法實例09-25

            PHP實現RSA加密類的實例解析08-23

            php中實現回刪功能實例10-03

            php+mysql實現無限分類實例詳解07-23

            php簡單偽靜態實例09-16

            PHP中使用session實現保存用戶登錄信息09-07

            如何實現php登陸表單提交CSRF及驗證碼09-14

            PHP生成器簡單實例09-07

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看