Jump to content


Photo

Níveis De Admin


  • Faça o login para participar
10 replies to this topic

#1 Existenceweb

Existenceweb

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 30/10/2005, 01:43

Boa pessoal, ha tempos venho pesquisando e até agora nao consegui encontrar muita coisa sobre níveis de administração em um script de autenticação, gostaria de saber se alguém pode realmente me dar uma força, pois estou montando um site pra mim e tenho vários administradores que preciso ter no sistema.

Basicamente sei criar as tabelas e um pouco de php, entendo de sessions e cookies, portanto nao sei como fazer essa parte de níveis.

Gostaria que no meu admin teria um menu que:

Nível Supervisor - teria acesso a todos os outros sistemas (cadastro de usuarios, dados de outras coisas etc..)

Nível de Administrador - Administraria somente os usuarios e cadastros de usuarios etc..

Nível de Recursos Humanos - Administraria somente usuarios

e assim por diante,

peço que se possível postem um exemplo prático ou se quiser entre em contato comigo pelo msn: juliano.tavares@hotmail.com
desde já agradeço muito a atenção de vocês.

Abraço
Existence Webstudio
Soluções para web. Host e Preço baixo!

#2 gmps

gmps

    Amsdã

  • Usuários
  • 969 posts
  • Sexo:Não informado

Posted 30/10/2005, 01:57

bom amigo..poste seu codigo para que possamos ajudar voce, achar uma solucao em seu codigo, pois a logica é meio simples, utilize IF em seu php...
"Se você não puder ajudar, atrapalhe; afinal, o importante é participar..."

#3 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 30/10/2005, 06:38

Grave grupos nos usuários tipo, grupo 1 -> recursos humanos. Na hora de exibir os dados para gerenciar, utilize if's.
Thales Santos

#4 Existenceweb

Existenceweb

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 30/10/2005, 09:18

Tá mas eu gostaria assim:

tenho 3 níveis de usuários, quando logasse no painel de administracao, so aparecesse o menu para aquele admin logado, o problema é q eu tenho um script simples de login com session e achei que para colocar níveis de admin devia ser em um script específico.
Existence Webstudio
Soluções para web. Host e Preço baixo!

#5 Hes Vital

Hes Vital

    Doutor

  • Usuários
  • 796 posts
  • Sexo:Não informado
  • Localidade:Leste - Santa Catarina
  • Interesses: * Programação - Sempre é bom criar algo.<br> - PHP<br> - Action Script<br> * Jogos - Nunca se é velho demais pra jogar.<br> - RPG<br> - Ação<br> - Outros

Posted 30/10/2005, 10:12

Você cria no BD um campo Permissao, aí esse número seria 1 à 3, aí na página de administrar cadastro de usuarios, bem no começo, tu colocarias um if pra ver se no campo permissao, esse admin é 3 ou pelo menos 2, aí coloca um else, pra se ele for nível 1, e coloca uma mensagem dizendo: Você não tem permissão, e bla bla bla...
Quantos programadores são necessários para trocar uma lâmpada?
Só um, mas a casa cai!

Posted Image

#6 Existenceweb

Existenceweb

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 30/10/2005, 12:23

certo e como seria utilizado esse if pra ver e dar o acesso a tal pessoa?

Pq isso tudo eu ja fiz, falta somente eu saber verificar se ele tem acesso e se ele pode ver o menu de tal sistema soh isso
Existence Webstudio
Soluções para web. Host e Preço baixo!

#7 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 30/10/2005, 12:43

vc ja tem os níveis cadastrados no banco, exemplo, a pessoa Ricardo tem um campo "nome" que possui seu nome, que é Ricardo, e tem outro campo chamado nivel, que possui seu nivel, vou aqui estabelecer 3 niveis, 1, 2 e 3, sendo que o 3 é o mais alto.

Assim que a pessoa faz login no sistema vc faz um select dos dados dela usando a session dela e comparando com a que tem no BD(consegue fazer isso?).

Bom, após ter feito o select dos dados dela vc retorna a linha do nivel dela
$nivel_do_usuario = $l[nivel]; // aqui to colocando que usou $l no mysql_fetch_array($sql)

certo ?

agora vamos ao if que seria aonde vc ta parado...

simples:
if($nivel_do_usuario=='1') {
echo"Usuário nível 1";
}

if($nivel_do_usuario=='2') {
echo"Usuário nível 2";
}

if($nivel_do_usuario=='3') {
echo"Usuário nível 3";
}

Podes ainda usar um elseif

if($nivel_do_usuario=='1') {
echo"Usuário nível 1";
} elseif($nivel_do_usuario=='2') {
echo"Nivel 2";
} elseif($nivel_do_usuario=='3') {
echo"Nivel 3";
}

E assim vc faz =)

flw, espero ter ajudado!

#8 FoskneT

FoskneT

    Normal

  • Usuários
  • 63 posts
  • Sexo:Não informado

Posted 30/10/2005, 13:42

Ae jovem, vamos supor que você tenha no banco de dados alguns menus né... intão um deles (por exemplo) só tem permissão pro usuario de nível 3.
Aí, após o código de login do usuário, você faz uma busca no BD pelos menus que podem aparecer de nível 3 (como é o máximo, apareceria todos). Se um usuário de nível 1 logasse, seu código faria uma busca pelos menus de número 1 e mostraria apenas eles... um código simples seria esse aki:
$nivel = 1;

$busca = mysql_query("SELECT menu FROM tabela WHERE nivel = '$nivel'");
while($buscalin = mysql_fetch_row($busca))
{
 $linhas = mysql_num_fields($busca);
   for($i=0;$i<$linhas;$i++)
  {
  $menuzao = $buscalin[$i];
    print $menuzao;
  }
}

O código não ficou profissional não porque foi eu quem fiz...
Mas vê se dá certo aí...
Flws! (y)
Fosknet MX
¯¯¯¯¯¯¯¯¯¯
Quase programador em PHP...
Quase DJ...
Quase sendo expulso da escola...

#9 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 30/10/2005, 13:43

de vez de echo vc pode usar header tb!... se nivel == 1

header location... bla bla... ai na pagina q somente nivel 3 pode acessar vc poe!:

<?PHP
if($nivel != "3")
{
echo"você nao tem nivel para acessar essa pagina";
}
else
{
echo"bem vindo admin";
}

?>
[]'s

#10 Existenceweb

Existenceweb

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 30/10/2005, 14:53

blz, ja consegui, vou montar o script e postar pra galera pq sei que tem muita gente que precisa disso, vlw pela ajuda galera.
Existence Webstudio
Soluções para web. Host e Preço baixo!

#11 redstyle

redstyle

    Expert

  • Usuários
  • 540 posts
  • Sexo:Masculino

Posted 31/10/2005, 08:33

Uma outra maneira de se fazer sem usar ifs é jogando as permissões no banco separado por algum caracter (ponto e vírgula por exemplo) e na hora que a pessoa logar você da um explode transformando em um array.

Depois é só verificar com a função in_array()

Acho melhor assim principalmente quando o sistema começa a ficar grande, ai teria que usar vários ifs.

Um exemplo de uma função que uso aqui
function acesso($bloco, $varNivel,$url = "index.php?erro=Você não tem acesso nesta área.<br>Por motivos de segurança faça login novamente."){
	$nivel = explode(",",$bloco);
	//cria um array com o nivel da pessoa
	$acessos = explode(",",$varNivel);
	$erro = 0;
	for ($i=0;$i<count($nivel);$i++){
  if (in_array($nivel[$i], $acessos)){
 	 $erro += 1;
  }
	}
	if ($erro == count($nivel)){
  return false;
	} else {
  return true;
	}
}

Flz!

Conheça meu blog para Aprender Laravel (Framework PHP)





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq