[英]Simple User Registration & Login Script in PHP and MySQLi
您好,我在登錄系統中使用了以下代碼,我想知道是否有人可以幫助我,我正在嘗試添加管理員功能,因此它將顯示一個鏈接,顯示管理員,如果沒有管理員,則它將禁用該鏈接。
http://www.allphptricks.com/simple-user-registration-login-script-in-php-and-mysqli/
使數據庫字段類似user_role
或user_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.