Jump to content


Photo

Níveis De Acesso


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

#1 quinhone

quinhone

    12 Horas

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

Posted 15/10/2004, 22:35

Preciso colocar um nível de acesso em meu sistema PHP alguém tem alguma ideia de como crio as tabelas?

Ex:

Fulano de tal - pode acessar link 1, link 2
Beltrano - pode acessar link 1, link 3

Help me please!!!!!!

#2 Hyoga de Cisne

Hyoga de Cisne

    Ativo

  • Banidos
  • PipPipPipPip
  • 359 posts
  • Sexo:Não informado
  • Interesses:Gosto muito de PHP, adoro Webdesign. Sou muito fã de ROCK! Gosto de ajudar à quem precisa, e merece...<br>Gosto de sempre estar atualizado de aprender mais a cada dia que se passa...

Posted 16/10/2004, 00:49

Vamos lá!

Digamos que no banco de dados seja assim:
Banco: cadastros
Tabela: users
Campos: id, nome, nivel.

<?
$nivel_1 = "Aqui fica o nivel 1";
$nivel_2 = "Aqui fica o nivel2";
$nivel_3 = "Aqui fica o nivel 3";

$seleciona = mysql_query("SELECT * FROM users WHERE id=$id ");
while ($row = mysql_fetch_array($seleciona)){
$nivel = $row['nivel'];
}
if ($nivel == 1){
echo $nivel_1;
}
if ($nivel == 2){
echo $nivel_2;
}
if ($nivel == 3){
echo $nivel_3;
}
?>


Bom amigo, espero ter ajudado, se tiver algum erro posta ae pois fiz de cabeça... Abraços! (y)
hyoga.de.cisne
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
AnimeSchool.com.br - O Melhor em animes, com muitos episódios, informação e muito mais!

#3 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 16/10/2004, 02:27

Tem vários modos, mas um que eu gosto e acho relativamente simples é esse:

Vamos às tabelas:

Links:
Id | LinkTexto | LinkURL
---------------------------
1  | Link 1    | link1.php
2  | Link 2    | link2.php
Usuarios:
Id | Usuario  | Senha
----------------------
1  | quinhone | xxxxx
2  | leob     | xxxxx
Perms:
Usuario | Link
--------------
    1    |  1
    1    |  2
    2    |  1
Aí, na tabela de links, você cadastra o texto do link e a URL pra qual ele vai apontar. Na tabela de usuários, os usuários, e, na tabela de permissões, o Id do usuário e o Id do Link que ele pode acessar. Vamos usar os dados do exemplo. Pelo que está ali, o usuário 1 (quinhone) tem acesso aos links 1 e 2, e o usuário 2 (leob) tem acesso somente ao link 1. Quando você for montar o seu menu, use os links que já estão na tabela, mas selecione somente os que o usuário pode acessar. Ex:

Supondo que o usuário já logou e você tem o Id dele guardado em uma sessão.

PHP
<?
...
$Busca = mysql_query('SELECT DISTINCT Links.* FROM Links,Usuarios,Perms WHERE Links.Id=Perms.Link AND Usuarios.Id=Perms.Usuario AND Usuarios.Id=' . $_SESSION['UsuarioId']);

if(
mysql_num_rows($Busca))
   while($Linha = mysql_fetch_assoc($Busca)){
      ?><a href="<?=$Linha['LinkURL']?>"><?=$Linha['LinkTexto']?></a><br><?
   
}
...
?>

Com esse código, você monta o menu só com os links que o usuário tem permissão. O usuário 1 verá os dois links aos quais ele tem permissão, e o usuário 2 verá 1 link somente.

Bom, acho que com isso já dá pra ter uma idéia de como criar esse esquema no seu sistema. (y)

#4 dark sonic

dark sonic

    12 Horas

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

Posted 16/10/2004, 03:50

Eu faço diferente
na parte de login o usuario loga e grava na seção o nivel dele.
ai na parte do painel com a informação da session e feita a verificação e mostra o menu no qual o usuario pode acessar pelo seu nivel.
///
Se quiser que eu poste o código que eu uso eh soh me falar. eu soh naum postei pois eh muito grande.

#5 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 16/10/2004, 12:58

Esse também serve, mas não é tão... digamos, flexível quanto o que eu citei. No seu, você já tem os menus prontos e fica preso a eles. No que eu falei, as permissões podem ser como você bem entender.

#6 dark sonic

dark sonic

    12 Horas

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

Posted 16/10/2004, 15:37

não pois ai eh soh você edita o código (menu) conforme sua necessidade, mas eu estaria mostrando o mesmo soh para ele ter uma ideia de como fazer...

mas de qualquer maneira o seu está mais facil de ele entender, pois o meu foi eu mesmo que fiz portanto ta... vamos dizer assim, um poko complicade de alguem entender ^^

#7 quinhone

quinhone

    12 Horas

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

Posted 16/10/2004, 21:37

Valeu galera, vou tentar montar com as dicas de vcs, qualquer dúvida "postarei" aqui

Obrigado!

#8 Hyoga de Cisne

Hyoga de Cisne

    Ativo

  • Banidos
  • PipPipPipPip
  • 359 posts
  • Sexo:Não informado
  • Interesses:Gosto muito de PHP, adoro Webdesign. Sou muito fã de ROCK! Gosto de ajudar à quem precisa, e merece...<br>Gosto de sempre estar atualizado de aprender mais a cada dia que se passa...

Posted 17/10/2004, 11:28

Vamos lá!

Digamos que no banco de dados seja assim:
Banco: cadastros
Tabela: users
Campos: id, nome, nivel.


<?
$nivel_1 = "Aqui fica o nivel 1";
$nivel_2 = "Aqui fica o nivel2";
$nivel_3 = "Aqui fica o nivel 3";

$seleciona = mysql_query("SELECT * FROM users WHERE id=$id ");
while ($row = mysql_fetch_array($seleciona)){
$nivel = $row['nivel'];
}
if ($nivel == 1){
echo $nivel_1;
}
if ($nivel == 2){
echo $nivel_2;
}
if ($nivel == 3){
echo $nivel_3;
}
?>


Bom amigo, espero ter ajudado, se tiver algum erro posta ae pois fiz de cabeça... Abraços! (y)

Esse sitema que fiz, o que não lhe agradou? :blink:
hyoga.de.cisne
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
AnimeSchool.com.br - O Melhor em animes, com muitos episódios, informação e muito mais!

#9 mmngea

mmngea

    Turista

  • Usuários
  • 35 posts
  • Sexo:Masculino

Posted 31/07/2007, 13:18

Dark,

me posta o seu codigo armazenando o nivél de acesso e habilitando os menus conforme seu nivel.

Abraços

#10 ccgdbz1

ccgdbz1

    12 Horas

  • Usuários
  • 182 posts
  • Sexo:Não informado
  • Localidade:Floripa - SC

Posted 31/07/2007, 15:55

mmmgea
esse topico foi criado em 2004. Provavelmente o pessoal que participou da discussao nem frequente mais o forum
éra melhor tu criar um topico novo sobre isso




1 user(s) are reading this topic

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

IPB Skin By Virteq