Nivel de acesso com php e mysqli

Ola, alguem poderia me enviar algum video ou tutorial que ensine como criar um sistema onde o login tivesse nivel de acesso?

eu ja criei tudo: a estrutura em html5 e css, a conexão com o banco, a proteção da pagina, onde o usuario e obrigando a ir no formulario de login pra logar…tudo.

porem queria um tutorial que ensine como fazer o nivel de acesso onde os usuarios acessassem certas pagina e onde o admin acessasse a pagina do administrador. Cada usuario iria para sua respectiva pagina.

obs: (sem ser arrogante e nem exigente) gente sou novo na área da programação, tenho estudado bastante e venho aqui sempre que não consigo fazer alguma coisa. Pra quem sabe é muito fácil, mas pra quem nao sabe e dificil, Então não enviem somente o codigo dizendo que ele ira realizar o que eu quero…Enviem, por favor, o tutorial, pois assim eu aprendo melhor. porque se enviarem so o codigo eu nao saberei implementar ele, com o tutorial eu aprendo melhor e poderei ir treinando ate aprender de vez. Eu ja vi alguns tutoriais no youtube, porem, estão obsoletos com relação ha alguns codigos, como por exemplo o mysql que agora é o mysqli.

obrigado pela compreensão e pela paciência.

Se pode trabalhar com papel (ou roles) onde cada usuário pode ter vários papeis, exemplo:

Usuario1
Pode ser administrador (consequentemente Pode ser usuário comum)

Usuario2
Pode ser usuário comum (não pode entrar no administrativo)

Ou ainda, proteger por paginas e cada página sendo um papel

Seria uma relação de muitos para muitos

  • Usuario x Papel

E no código você verifica se o usuário pertence naquele papel e exibi a pagina se não redireciona.

Eu até entendo que você possa ser iniciante, mas, sem o seu código para ter uma ideia de como você fez fica complicado, e passar um vídeo, tutoriais, pode dar vícios embutidos, precisa saber se fez tudo na mão e um exemplo do seu código.

(isso ai é o index, com a proteção de pagina)

(o codigo de login e o onde eu tambem coloquei o codigo de proteção)

(aqui é a conexao)

Na verdade o seu código ainda está em construção.

Vai por partes.

Faz a modelagem de dados, como @Dragoon sugeriu, o mais simples seria criar as tabelas usuario, perfil e perfil_usuario.

Apresente isso pronto ou se ainda tiver alguma dúvida em relacao a essa parte, seja mais específico sobre esse ponto.

Depois vai pra próxima etapa, fazer um SELECT pra trazer os perfis do usuário logado. Se tiver dúvida nessa parte fale qual é.

Tendo a lista de perfis que o usuário tem acesso voce vai poder fazer a verificacao que quiser. Se tiver dúvida nessa parte fale qual é.

1 curtida

pois e javaflex…vc é um que me ajuda…eu to querendo aprender de tudo um pouco…java, php, html5 e css3.

mas tenho um dificuldade tremenda de aprender sem um professor…uma aula…eu tenho livros que falam do assunto, tenho os videos do youtube, mas não sei porque eu não aprendo como fazer, assim como quem ensina. cada um tem um jeito diferente de ensinar e de criar a forma. Por exemplo, logar no banco tem algumas formas de fazer…uma delas e por PDO. Enfim…tenho vontade de aprender uma forma e ficar nela…mas são muitas maneiras de fazer que existem…eu aprendi o hmtl5, css3 e ate como criar conexão com o banco(não em PDO). Fazer o select dentro do php…como implementar? onde usar isso? quando usar isso? ou ainda…pra que serve determinados codigos, enfim…Uma pergunta: como eu faria pra cadastrar o usuario no seu respectivo lugar pra que ele logue somente na pagina correspondente?

viu? essas são duvidas de iniciante, das quais nao consigo uma resposta compreensiva. Acho que isso ocorre pq elas são dadas pela internet, onde nao existe uma didática melhor pra ensinar…Mas tenho vontade de aprender e ate de ensinar alguem um dia…

O que vc sugere que eu faça pra eu melhorar o meu aprendizado?

Antes de fazer um projeto por conta própria, sugiro fazer um curso, seguir a direção de um livro ou algum material de ensino.

Se nunca teve aula de lógica de programação, algoritmos, estrutura de dados, modelagem de dados, entre outras coisas mais básicas, estude primeiro pra ter uma base.

1 curtida

Um adendo que eu estou achando primordial que você @javaflex disse, você @Legolas está pulando etapas, está indo para o fim e preciso do inicio, para um desenvolvimento básico precisa conhecer a base (básico não quer diminuir a programação é ter a base em perfeito estado e você ainda não tem porque como disse é iniciante).

Tente entender que não adianta começar a aprender Nível de Acesso se você tem duvidas de acesso a base de dados, se não sabe bem precisa estudar, e outra coisa você disse: pois e javaflex…vc é um que me ajuda…eu to querendo aprender de tudo um pouco…java, php, html5 e css3 só respondendo, não dá cara aprender um pouco que profissional você vai ser um que sabe um pouco de tudo, o mercado não absorve esse tipo de pessoa você precisa entender que o mercado é para especialistas que o cara que aprende tudo na verdade sabe nada vai por mim isso são dicas.

O seu problema deveria ser dividido em partes até chegar no nível de acesso, é melhor que faça assim e ir em uma sequencia lógica:

  • Trabalhar com variáveis do PHP
  • Trabalhar com funções do PHP
  • Aprender estruturas de Conexão (mysql(é obsoleto mas, tem código legado de monte por ai, pelo menos para saber que existe), mysqli e pdo(abstração))
  • Fluxo e Geração de Telas Dinâmicas
  • Cadastro, Alteração, Exclusão e Visão de um Cadastro (fez um cadastro sabe fazer qualquer cadastro)
  • Login de Usuário
  • Niveis de Acesso
  • Autenticação e Autorização
  • Framework (Laravel, etc …)

Sempre Framework é o último, porque, precisa saber como a roda funciona.

ai é que ta…eu tenho esse material de ensino…livro e tudo mais…o que eu queria realmente aprender e como implementar esses codigos…tipo, qual o codigo que usa pra criar uma lista de usuarios no banco? e onde eu implemento ele, como eu uso ele? eu preciso criar um arquivo em php tipo, lista.php, e inserir isso nesse arquivo? essas coisas…entendeu

Ola Dragoon…a maioria dessa lista ai eu ate ja sei…o problema é o codigo que possibilita o nivel de acesso e que não sei implementar. e eu sou do tipo que aprende na pratica…por isso corro atras de videos no youtube e livros especificos…mas vc tem razão…eu não poderia aprender tudo…entao o que vc sugere? me aprofundar no php mesmo?

O Nivel de acesso precisa ler da seguinte forma:

O usuário digitou e-mail e senha você confere na base se trouxe 1 resultado (somente 1) e ai se ele trouxe esse resultado pela chave primária buscas as permissões, guarda isso tudo em $_SESSION e em todas as tela deve verificar se o usuário logado tem a permissão para exibir a tela
2) eu prefiro aprender tudo, ficar um tempo na linguagem eu sei PHP, VB6, Arquitetura .NET (com C#), ASP VBScript e Bancos de dados, e isso levou mais de 10 anos para eu dizer hoje que eu sou desenvolvedor PHP e C#, então, foco é o principal meio de aprender alguma coisa e nada impede aprender outras coisas em sequencia.

O seu código das telas tem problemas campo com input="password" faltou o name ou seja, ou é falta de atenção ou você precisa entender como é resgatado as informações o input da sua tela em relação ao PHP(padrão em outras linguagens também e se não tem o nome o servidor não sabe)

Problema que você pergunta “qual código” como se tivesse que ter códigos prontos pra atender demandas específicas. Sao n passos que damos até chegar em um resultado desejado, por isso sugeri ir por partes, citando a dúvida diretamente sobre o ponto que estiver, apresentando onde parou. Já te passei alguns passos.

Se voce realmente já aprendeu bem pelo menos sobre lógica de programação, modelagem de dados, SQL, HTML e PHP, a dificuldade sendo no “encaixe”, sugiro algum livro focado em projeto como este:

Caso contrário, revise tudo novamente e exercite bastante, repetição até entrar no sangue.