1. 程式人生 > 其它 >專業3 登入(退出登入)功能的實現

專業3 登入(退出登入)功能的實現

掌握為什麼要實現使用者登入

使用者登入是一個後臺系統的入口,是前臺網站的使用者識別的鑑權功能,登入有以下三個作用:

1.識別使用者身份

2.確定使用許可權

3.保證資料安全
掌握登入功能的實現步驟

第一步:建立一個登入的表單

<form class="form-horizontal" role="form" action="loginPro.php" method="post">
    <div class="form-group">
        <label for="firstname" class="col-sm-2 control-label
">使用者名稱:</label> <div class="col-sm-10"> <input type="text" class="form-control" id="firstname" name="username"> </div> </div> <div class="form-group"> <label for="lastname" class="col-sm-2 control-label">密碼:</label> <div class
="col-sm-10"> <input type="text" class="form-control" id="lastname" name="password"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default">登入</button> </div> </div> </form> 第二步:接收表單提交的資料驗證登入資訊
<?php // 接收使用者名稱和密碼 $name = $_POST['username']; $pwd = md5($_POST['password']); // 驗證資料 略 (你寫) // 連線資料庫 $link = mysqli_connect("127.0.0.1","root","root","1909A"); // 拼寫SQL語句:select * from user where 使用者名稱=接收的使用者名稱 and 密碼=接收的密碼 $sql = "select * from user where name= '$name'"; // 判斷結果:能查出資料表名使用者名稱和存在,查不出資料表明使用者名稱就不存在 $res = mysqli_query($link,$sql); // 將結果集轉換為一維陣列 $data = mysqli_fetch_assoc($res); // 判斷使用者名稱是否存在 if($data){ // 進而比較密碼 if($data['password'] == $pwd){ echo "<script>alert('登入成功');location.href='list.php'</script>"; }else{ echo "<script>alert('登入失敗,請核對填寫的密碼');location.href='login.php'</script>"; } }else{ echo "<script>alert('登入失敗,請核對填寫的使用者名稱');location.href='login.php'</script>"; } 掌握使用會話控制攔截非法請求 第一步:登入成功後使用會話控制技術記錄使用者的資訊 if($data['password'] == $pwd){ // 將使用者登入的資訊記錄在cookie中 // setcookie("username",$data['name']); // 將使用者登入的資訊記錄在session中 session_start(); $_SESSION['username'] = $data['name']; echo "<script>alert('登入成功');location.href='list.php'</script>"; }else{ echo "<script>alert('登入失敗,請核對填寫的密碼');location.href='login.php'</script>"; } 第二步:在列表頁面、新增頁面等需要登入後才能訪問的頁面驗證是否登入 <?php // 判斷管理員是否登入 session_start(); if(empty($_SESSION['username'])){ echo "<script>alert('請先登入後訪問');location.href='login.html'</script>"; die; } 總結: 登入功能的完善必須藉助session或cookie來記錄使用者資訊,否則就失去了登入的意義,也不方便以後的功能操作

退出登入

掌握退出登入功能的開發

第一步:增加退出登入按鈕

<a href="loginOut.php"><button type="button" class="btn btn-error">退出登入</button></a>
第二步:在loginOut.php頁面書寫退出登入程式碼

<?php
// 退出登入(刪除session過程)
session_start();
// 刪除session
unset($_SESSION['username']);
// 重新跳轉至登入頁
header("location:login.php");
總結:
退出登入就是銷燬cookie或者session的過程,注意刪除session使用unset()可以,但是刪除cookie使用就是setcookie()讓當前的資料過期即可