gpt4 book ai didi

php - 用户权限自定义cms

转载 作者:行者123 更新时间:2023-11-29 12:11:45 24 4
gpt4 key购买 nike

正在寻找有关我当前设置的一些建议以及是否有更好的方法(这是我第一次尝试构建这样的应用程序),但我现在需要用户角色,只有两个用户和管理员。

我有一个用户表和一个组表,还有一个连接表,它从用户表中获取 ID,从组表中获取 ID,我也可以分配用户所属的组。

我想设置一种方法来执行几件事,通过输入 url/admin/index.php 来阻止“用户”访问管理区域,并且如果他们是管理员,还可以在索引页面上显示一个链接如果他们是普通用户,则看不到它。

这里是我的代码,用于演示我可以显示用户角色标题,但目前遇到困难:

<?php
$user = $_SESSION['user'];
try{
$results = $dbh->query("SELECT *
FROM groups
INNER JOIN user_group_link_table
ON groups.id = user_group_link_table.group_id
WHERE user_group_link_table.user_id = $user");

}catch(Exception $e) {
echo $e->getMessage();
die();
}

$group = $results->fetchAll(PDO::FETCH_ASSOC);

foreach($group as $groups){

echo

$groups["name"]
// show a link to admins that user do not see?
;}
?>

我想知道我的方法是否完全错误?

更新

<?
include('session.php');
if (!isset($_SESSION['user'])) {
header("Location: index.php");
}
if(!ini_get('date.timezone'))
{
date_default_timezone_set('GMT');
}
// This could be an include file for all admin pages
$isAdmin = false;
foreach($group as $groups){
if($groups['name'] === 'admin'){
$isAdmin = true;
break;
}
}

if(!$isAdmin){
header('Location: index.php'); // or some other arbitrary location
die();
}
?>

我收到此错误:

注意: undefined variable :第 12 行/Applications/MAMP/htdocs/dashboardr v3.2.3/admin/header.php 中的组

警告:第 12 行/Applications/MAMP/htdocs/dashboardr v3.2.3/admin/header.php 中为 foreach() 提供的参数无效

最佳答案

I am wanting to set a way to do a couple of things, prevent 'users' accessing the admin area by typing in the url /admin/index.php and also show a link on the index page if they are an admin and not see it it if they are a normal user.

我将为您提供一个适用于您当前设置的解决方案;这不是正确的方法,但我现在会完成工作。如果您担心用户处于特定角色,最好在查询中指定该角色,而不是迭代其所有潜在角色。

// This could be an include file for all admin pages
$isAdmin = false;
foreach($group as $groups){
if($groups['name'] === 'admin'){
$isAdmin = true;
break;
}
}

if(!$isAdmin){
header('Location: index.php'); // or some other arbitrary location
die;
}

在输出任何类型的 HTML 之前,您需要将其放置在页面顶部。

关于php - 用户权限自定义cms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com