簡體   English   中英

PHP和MySQLi中的簡單用戶注冊和登錄腳本

[英]Simple User Registration & Login Script in PHP and MySQLi

您好,我在登錄系統中使用了以下代碼,我想知道是否有人可以幫助我,我正在嘗試添加管理員功能,因此它將顯示一個鏈接,顯示管理員,如果沒有管理員,則它將禁用該鏈接。

http://www.allphptricks.com/simple-user-registration-login-script-in-php-and-mysqli/

使數據庫字段類似user_roleuser_role命名,但可使用它來存儲用戶角色/特權。 用戶登錄后,從該字段存儲數據到會話並執行條件檢查。

if (isset($_SESSION['user_role'] && $_SESSION['user_role'] === 'admin')
{
    // user have admin privilege
}

創建功能以實現可重用性。

function isAdmin()
{
    if (isset($_SESSION['user_role'] && $_SESSION['user_role'] === 'admin')
    {
        return true;
    }
    return false;
}

用法:

if (isAdmin()) {
    echo 'You are admin!';
}

這只是示例,可以根據需要命名會話和功能。

最好的祝福。

登錄后,用戶名存儲在$_SESSION['username'] 因此,我認為類似這樣的方法應該可以解決問題:

if ($_SESSION['username'] === 'admin') {
   echo '<a href="...">admin</a>';
} else {
   echo 'admin';
}

當用戶表中有一個額外的字段時,可以將其稱為“ group”,並且該字段填充有組名“ admin”,此時您可以在會話中的登錄腳本中填充此組名:

$rows = mysqli_num_rows($result);
if($rows==1){
    $row = mysqli_fetch_assoc($result);
    $_SESSION['username'] = $username;
    $_SESSION['group'] = $row['group'];
    // Redirect user to index.php
    header("Location: index.php");
}'

然后在代碼中使用$_SESSION['group']而不是$_SESSION['username']來檢查會話,就像上面一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM