Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Avangers

Sistema de gerenciamento

Recommended Posts

Tenho um sistema de gerenciamento de alunos.

 

Tenho 1 usuário Administrador e outro Empresa.

 

Como administrador eu adiciono os e-mails que poderão acessar essa tela empresa:

 

Ex:

 

Adicionei - "fulano@gmail.com" e esse usuário terá acesso a página | empresa.php

 

Posteriormente adicionarei - "beltrano@gmail.com e esse usuário terá acesso a mesma página "empresa.php" porém ele não visualizará as informações que o usuário "fulano@gmail.com" acrescentará.

 

... e seguirá essa sequência.

 

Como eu faço isso?

 

E-mails distintos acessando a mesma página porém sem visualizar as informações dos outros usuários..

 

Resumindo, como se fosse uma página de banco rs, ninguém tem acesso as suas informações.

 

Vlw !

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o @Beraldo quis dizer é que terá que utilizar permissões para usuários. Como assim? Para que um login funcione, é necessário que você crie uma verificação para saber se aqueles dados inseridos estão na sua base de dados e ai sim conceder acesso ao sistema para aquele usuário.

 

Nas permissões funciona da mesma forma. Cada usuário terá um nível de permissão (administrador, cliente etc) relacionado a sua conta, e a partir dai você conseguirá verificar o que cada usuário poderá fazer em determinada área do seu sistema.

 

Exemplo:

create table permission(
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  description LONGTEXT
);

create table user(
  id INT AUTO_INCREMENT PRIMARY KEY,
  permission_id INT NOT NULL,
  name varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
  INDEX(permission_id),
  FOREIGN KEY (permission_id) REFERENCES permission(id)
);

INSERT INTO permission(name, description) values('Administrador', 'Possui acess absoluto no sistema'), ('Empresa', 'Possui acesso limitado no sistema');
INSERT INTO user(permission_id, name, email) values(1, 'Fulano', 'fulano@gmail.com'), (2, 'Beltrano', 'beltrano@gmail.com');
<?php
$email = 'fulano@gmail.com';
// $email = 'beltrano@gmail.com';

$mysqli = new mysqli('localhost', 'root', '142536', 'teste');
$query = $mysqli->query("select * from user where email = '$email'");
$result = $query->fetch_assoc();

$menu = array();

if ($result['permission_id'] == 1) {
    $menu = array('Empresas', 'Alunos', 'Salas', 'Financeiro');
} else {
    $menu = array('Alunos', 'Salas');
}

$mysqli->close();
?>

<ul>
    <?php foreach($menu as $item) : ?>
        <li><a href="#"><?=$item?></a></li>
    <?php endforeach; ?>
</ul>

Lembrando que isso é apenas um exemplo para que você possa entender o conceito da maneira mais fácil e simplificada. Existem diversas maneiras de projetar permissões, desde as complexas as mais simples.

 

Com essa base você já consegue iniciar algo ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já tenho o banco, porém ele busca informações diretas.

 

Eu como administrador, cadastro os e-mail.

 

Porém preciso que os e-mail cadastrados acessem a mesma página sendo que o conteúdo seja diversificado.

 

fulano@..

Possui suas informações..

 

beltrano@..

Possui suas informações..

 

e assim por diante...

 

Já tenho a tabela estruturada, níveis de acesso etc..

precisaria saber o código (php) que preciso inserir para atender esse recurso..

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está querendo trabalhar com autenticação e sessão?

Por exemplo, autentico com o domenike@gmail.com, todos os dados correspondentes a minha conta devem

estar disponíveis, por exemplo, meu nome, senha, e-mail e etc.

É isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está querendo trabalhar com autenticação e sessão?

Por exemplo, autentico com o domenike@gmail.com, todos os dados correspondentes a minha conta devem

estar disponíveis, por exemplo, meu nome, senha, e-mail e etc.

É isso ?

 

Seria como se cada e-mail tivesse seus dados..

 

Ex: o email "zezinho@nike.com" correspondente a empresa "nike" cadastra funcionários ..

 

Ele possui um login e uma senha.

 

Ex2: o email beltrano@extra.com" correspondente a empresa "Extra" cadastra funcionários e possui um login e uma senha.

 

O que eu quero:

 

Que ambos tenham acesso a mesma página porém que não leiam as informações inseridas pelo outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi, esta aí:

<?php
session_start();
$usuario_id = $_SESSION['uid'];

$query = "SELECT * from tabela where usuario_id = '$usuario_id'";
$resultado = $mysqli->query($query);
$row = $resultado->fetch_array(MYSQLI_ASSOC);
$empresa = $row["empresa"];
$cargo = $row["cargo"];
$e-mail = $row["e-mail"];
$usuario = $row["usuaro"];
echo "Usuario ".$usuario." você pertence a empresa ".$empresa." e seu cargo é ".$cargo;
?>

Acabei de codificar, veja se é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi, esta aí:

<?php
session_start();
$usuario_id = $_SESSION['uid'];

$query = "SELECT * from tabela where usuario_id = '$usuario_id'";
$resultado = $mysqli->query($query);
$row = $resultado->fetch_array(MYSQLI_ASSOC);
$empresa = $row["empresa"];
$cargo = $row["cargo"];
$e-mail = $row["e-mail"];
$usuario = $row["usuaro"];
echo "Usuario ".$usuario." você pertence a empresa ".$empresa." e seu cargo é ".$cargo;
?>

Acabei de codificar, veja se é isso?

Ainda não.

 

Eu já tenho um banco estruturado.

 

level 1 - Administrador

 

Professores

 

----

 

Eu quero cadastrar os professores, como administrador.

Ex: "carlos@gmail.com" "Manoel@gmail.com" .. etc

 

E depois eu quero que as informações preenchidas pelo usuário "professor" seja sigilosa, sendo que, todos acessarão a mesma página.

 

Ex: Tenho a página "professor.php" e os usuários cadastrados por mim terão acesso a página "porfessor.php" correto?

 

Todavia, as infomações que o usuário inserir dentro desta página será exclusiva para o mesmo.

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

restringir na query qual a categoria, professor, aluno, admin e etc.

exemplo: SELECT * FROM tabela WHERE categoria = '$categoria';

Na categoria será defnido qual a categoria

Como definir a categoria?

Nunca esqueça de "manipular" os dados usando o session id do usuário!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.