Ir para conteúdo

POWERED BY:

Arquivado

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

Walisson Ch.

Cliente Loga, e ve tabelas diferentes.

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Aew pessual, sou novo no Foum, e novo na progamação PHP, hehehe

 

Eu sempre entro nesse forum e acho o que preciso, porém dessa vez não achei, hehehe

Talvez posssa até ter por aih, mais procurei e realmente não achei.

 

Bom, minha dúvida é a seguinte.

Tenho um site feito em PHP, não foi eu que fiz, e agora tive que assumir a responsabilidade, quero implementar uma nova função lá.

Na pagina principal, eu inseri um Login e Senha para o usuario (cliente) se logar e ir para a area restrita, até aih tá beleza, mas depois disso me inrolei e não sei como fazer, estou procurando alguma dica, ou algum tutorial que possa me clarear as ideias.

Após o Usuario se logar, na area restrita, ele vai poder consultar a tabela de preços, porém cada usuario ve uma tabela diferente, que esta dividida em A, B ou C, eu cadastrarei os uruaios para nao ter erro deles verem tabelas que nao podem, essa tabela já esta rodando em um Sistema FOX Pro, eu apenas vou criar uma conexao com o sistema para pegar a tabela. A tabela esta dividida em Tabela A, B e C, qual a melhor opção para quando o usuario se logar ele ve a tabela respectiva A,B ou C ??

 

Espero ter deixado minha dúvida bem claro, caso não, eu posto de novo, para melhor entender.

 

Desde já agradeço a ajuda de todos...

 

ATT. Walisson Ch.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho que naum entendi muito bem...+ se for o que eu entendi... você deve definir uma _SESSION no momento em que ele se logar dizendo qual tabela ele deve visualizar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode começar lendo esse post

http://www.imasters.com.br/forum/lofiversi...hp/t209693.html

 

Mas depende da estrutura da tabela, se ela tiver 3 campos, id, usuario, nivel

 

Você pode fazer uma verificação depois do login e exibir a tabela adequada.

 

Se realmente existirem tabelas diferentes dentro do BD, use algo assim, para buscar dados em tabelas diferentes:

tabelas: clientes, fornecedores, funcionarios

...depois que o usuario se loga, seta uma sessão nivel....

PHP
$seleciona = "SELECT * FROM " . $_SESSION["nivel"] . ""

O Nível é o nome da tabela..

 

Se existirem dados cadastrados em uma tabela, selecione os dados de acordo com o nível na mesma tabela.

...depois que o usuario se loga, seta uma sessão nivel....

PHP
$seleciona = "SELECT * FROM tabela WHERE nivel = '" . $_SESSION["nivel"] . "'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho que naum entendi muito bem...+ se for o que eu entendi... você deve definir uma _SESSION no momento em que ele se logar dizendo qual tabela ele deve visualizar...

Então, vo resumir novamente!O cliente entra no site, digita seu login e senha, e vai para a area restrita, e la vai ter um menu, com o link, Ver tabela de preços, quando ele clikar ele ve a tabela de preços, porém cada cliente visualiza uma tabela diferente de preços, eu separei por tabela A, tabela B ou tabela C...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o GuttoSP falou é como você deve empregar o que eu te falei...

basta você cadastrar todos os campos em uma so tabela e colocar um campo a + nesta tabela...

este campo a mais especifica qual faixa de preço aquela mercadoria pertençe...

tipo assim:

codigo				  (especificações....)			   faixa=========================================65546465			(...)								  A54454534			(...)								  B89634532			(...)								  A56876785			(...)								  C67887978			(...)								  B34534579			(...)								  C67869809			(...)								  B

quando você fosse listar os produtos pra uma pessoa que so tivesse acesso aos preços A:

select * from sua_tabela where faixa = 'A'

 

+/- o que oq o GuttoSP falou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode começar lendo esse post

http://www.imasters.com.br/forum/lofiversi...hp/t209693.html

 

Mas depende da estrutura da tabela, se ela tiver 3 campos, id, usuario, nivel

 

Você pode fazer uma verificação depois do login e exibir a tabela adequada.

 

Se realmente existirem tabelas diferentes dentro do BD, use algo assim, para buscar dados em tabelas diferentes:

tabelas: clientes, fornecedores, funcionarios

...depois que o usuario se loga, seta uma sessão nivel....

PHP
$seleciona = "SELECT * FROM " . $_SESSION["nivel"] . ""

O Nível é o nome da tabela..

 

Se existirem dados cadastrados em uma tabela, selecione os dados de acordo com o nível na mesma tabela.

...depois que o usuario se loga, seta uma sessão nivel....

PHP
$seleciona = "SELECT * FROM tabela WHERE nivel = '" . $_SESSION["nivel"] . "'"
Gutto....

Achei legal aquele tutorial de niveis, eu estava precisando de algo parecido com aquilo, porém para fazer outras coisas...

Mas assim, como disse no começo, eu so bem inesperiente com PHP, com poucos conhecimentos, e ainda tenho que segurar essa bucha, rs

 

Não tem como fazer isso com um modo mais facil, sem nivel ??

 

Abraço

 

o que o GuttoSP falou é como você deve empregar o que eu te falei...

basta você cadastrar todos os campos em uma so tabela e colocar um campo a + nesta tabela...

este campo a mais especifica qual faixa de preço aquela mercadoria pertençe...

tipo assim:

codigo				  (especificações....)			   faixa=========================================65546465			(...)								  A54454534			(...)								  B89634532			(...)								  A56876785			(...)								  C67887978			(...)								  B34534579			(...)								  C67869809			(...)								  B
quando você fosse listar os produtos pra uma pessoa que so tivesse acesso aos preços A:

select * from sua_tabela where faixa = 'A'

 

+/- o que oq o GuttoSP falou...

Dorian...

Desculpe a ignorancia, é que sou novo com PHP... intendo pouco, hehehe

 

Assim, eu intendi, da um select na tabela aonde tiver o campo A...

Então quer dizer que tenho que fazer 3 select's ?? A, B e C certo ?

 

Assim se o usuario tiver a foreing Key de A ele consegue ver?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que fazer somente 1 select...eu coloquei "... faixa='A'" somente como exemplo...na verdade você tem que substituir o "A" pela variavel que define o nivel...explico melhor a noite quando eu chegar em casa...:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que fazer somente 1 select...eu coloquei "... faixa='A'" somente como exemplo...na verdade você tem que substituir o "A" pela variavel que define o nivel...explico melhor a noite quando eu chegar em casa...:)

Pow Dorian, vlw mesmo em cara pela atenção!!!É que eu so novo, e to com muito serviço aqui e a cabeça começa a indoidar já, ehehheAdiciona meu MSN aih se você puder MSN - peixinhu130@hotmail.com....Aih se conseguirmos fazer o que estou pensando, eu Posto aqui no forum para a galera ver como foi feito, e quem precisa vai estar aih.!!Vlww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz algo do tipo

Na tabela de usuário, inclui uma coluna que receberá p nível dele, ex:

Tabela de Usuário:Codigo	Login		Senha		Nivel1		usuario1	senha1		A2		usuario2	senha2		B3		usuario3	senha3		A4		usuario4	senha4		C
Aí, no arquivo que faz a conexão do usuário, coloca:

PHP
$sql = "SELECT * FROM tbusuario WHERE Login = ".$_POST["usuario"]; //adapta pro teu código

$res = mysql_query($sql); //faz a busca no BD

if ($reg = mysql_fetch_object($res)) { //retorna os dados do usuario

        $_SESSION["nivel"] = $reg->Nivel; //cria uma variavel de sessao com o nivel do usuario... pode usar cookies tb... dependendo do resto do teu codigo

}

 

Aí, na hora de buscar os preços, você faz algo assim:

PHP
$sql = "SELECT * FROM tbprecos".$_SESSION["nivel"]; // adapta pro teu código!!!

ou pode fazer com IF:

PHP
if ($_SESSION["nivel"] == "A") {

$sql = "SELECT * FROM tbprecosA";

} elseif ($_SESSION["nivel"] == "B") {

$sql = "SELECT * FROM tbprecosB";

} else {

$sql = "SELECT * FROM tbprecosC";

}

 

Aí é só completar o código... suuuuuuuuper fácinho...

Se tiver maiores problemas, passe a parte onde faz a conexão que a gente pode facilitar, mas acho q você deve se esforçar um pouquinho!

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evandro, vo testa isso aih hoje, e depois eu posto aqui para ver o que deu, heheheVLw pela dica.PS: Estou me esforçando aqui, hehehePara quem esta aprendendo na raça, acho que ainda to indo bem e no caminho certo, abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evandro!!!

Tentei de varias formas, mais minha experiencia ainda é pouco cara, hUAuha

Não consegui, rs

O maximo que consegui foi imprimi a tabela, porém ele não verificou os niveis!

Segue abaixo aonde faiz a autenticação do usuario!!

 

<?php

//FAZEMOS O INCLUDE DO ARQUIVO DE CONFIG

require_once("config.php");

//RECEBE OS DADOS DO FORMULÁRIO

$usuario = $_POST[user];

// ASPAS ESCARPADAS EVITANDO ASPAS SIMPLES

$usuario = addslashes($usuario);

// RECEBE OS DADOS DE USER DA SENHA

$senha = $_POST[senha];

// DA O MD5 PARA CRIPTOGRAFIA

$senha = md5($senha);

 

//VERIFICAMOS USUÁRIO E SENHA COMPARANDO COM OS DADOS DO BANCO MYSQL

$sql = mysql_query("SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios

WHERE USUARIO = '$usuario' AND SENHA = '$senha'")

or die("ERRO NO COMANDO SQL");

 

//VERIFICAMOS AS LINHAS AFETADAS PELA CONSULTA

$row = mysql_num_rows($sql);

 

//VERIFICAMO SE RETORNOU ALGO

if($row == 0)

{

echo "Erro: Usuário ou Senha inválidos";

echo "<br>";

echo "<a href='index.php'>voltar</a>";

}

//SE $row É DIFERENTE DE ZERO, RETORNOU ALGO

else

{

//PEGA OS DADOS DO MYSQL E ATRIBUIMOS O VALOR A VARIAVEL

$id = mysql_result($sql, 0, "ID_USUARIO");

$nome = mysql_result($sql, 0, "NOME_USUARIO");

//INICIALIZAMOS A SESSÃO

session_start();

//PASSAMOS AS VARIÁVEIS PARA SESSÃO

$_SESSION[iduser] = $id;

$_SESSION[nomeuser] = $nome;

//REDIRECIONAMOS PARA A PÁGINA QUE VAI EXIBIR OS DADOS

Header("Location: http://localhost/seccon/consulta/consulta.php");

}

?>

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.