Jump to content
kelvinferraz

Unica pagina de login apontando para diferentes banco de dados MySQL

Recommended Posts

Boa tarde Pessoal tudo bem?

 

Estou criando uma aplicação basica para um usuario logar e acessar os dados dessa aplicação via um dashboard. 

 

Surgiu uma dúvida, eu gostaria de publicar isso para que qualquer usuario possa acessar via web por exemplo: www.meusite.com/login

 

A partir desse login defeniria qual base de dados esse usuário esta vinculado, por exemplo:

 

O usuário acessa a area de login do site:

Login: UsuarioX ------> Conecta ao db_usuariox

 

Login:UsuarioY -------> Conecta ao db_usuarioy

 

Como posso fazer isso?

 

Estou aprendendo mais afundo PHP agora, então se puderem me dar uma dica e uma forma simples para entendimento ficarei grato.

Share this post


Link to post
Share on other sites

kelvinferraz

Se você já sabe em qual base esse usuário vai acessar basta você realizar a conexão com o banco de dado em questão, mas eu acho que você não deve ter essa informação logo no login, você primeiro precisa verificar se o usuário esta na base, uma por uma até encontrar, esse é um ponto.

 

Então eu recomendo você a fazer assim:

<?php
// Para o charset das páginas
ini_set('default_charset','UTF-8');

// Definindo variaveis de conexão com o Banco de Dados
$enddb = "localhost:3306";
$user = "root";
$pass = "";
$database = "db_teste_1";

// Acesso Local
$conndb = mysql_connect($enddb,$user,$pass,TRUE);

if(!$conndb){
    echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
	exit();
}
//Criando comunicação com a BASE DE DADOS do BANCO DE DADOS
mysql_select_db($database,$conndb);
mysql_set_charset('utf8',$conndb);

//Aqui você faz um SELECT para validar o usuário e ver se ele esta na base.
//Se encontrar você redirecionar para a página que quer, caso contrário você faz outra conexão com a outra base de dados e repete esse processo
//Faz select na base, se encontrar redireciona se não faz acesso em outra base.

$sql1 = "select * from tabela_usuario where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
if ($resultado1 = mysql_fetch_assoc(mysql_query($sql1)) {
    header("Location: index.php");
	exit;
} else {
    database = "db_teste_2";
    $conndb = mysql_connect($enddb,$user,$pass,TRUE);
    
    if(!$conndb){
        echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
    	exit();
    }
    mysql_select_db($database,$conndb);
    mysql_set_charset('utf8',$conndb);
	$sql2 = "select * from tabela_admin where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
    if ($resultado2 = mysql_fetch_assoc(mysql_query($sql2)) {
	    header("Location: inhome.php");
	    exit;
    } else {
        database = "db_teste_3";
        $conndb = mysql_connect($enddb,$user,$pass,TRUE);
        
        if(!$conndb){
            echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
        	exit();
        }
        mysql_select_db($database,$conndb);
        mysql_set_charset('utf8',$conndb);
	    $sql3 = "select * from tabela_livre where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
        if ($resultado3 = mysql_fetch_assoc(mysql_query($sql3)) {
	        header("Location: dashboard.php");
	        exit;
        } else {
            header("Location: tela_logar.php");
            exit();
        }
    }
}        
?>

No exemplo acima o que eu fiz, me conectei a 1 Banco de Dados (um DataBase), fiz um select na tabela Tabela_Usuario, se eu encontrar o nome e a senha nesta base eu redireciono quem logou para a página INDEX.PHP, se não encontrar nessa base eu me reconecto no 2 Banco de Dados (outro DataBase), faço outro select na tabela Tabela_Admin, se eu encontrar o nome e a senha nesta base eu redireciono quem logou para a página INHOME.PHP, se não encontrar nessa base eu me reconecto no 3 Banco de Dados e faço outro select na tabela Tabela_Livre, se encontrar redireciona para a página DASHBOARD.PHP e por fim se não encontrar em nenhuma das bases redireciona para a tela de login, onde o usuário deve digitar o nome e a senha novamente.

 

Bom a ideia é essa, mas com os comandos acima você pode brincar como realmente deseja.

 

O que eu recomendo mesmo é você ter apenas UM BANCO DE DADOS e UMA TABELA DE USUÁRIO e nesta tabela você colocar UM CAMPO para identificar o TIPO de USUÁRIO, se é ADMIN, USUÁRIO ou VISITANTE e através deste campo você redirecionar para a página em questão ficando assim o código:

<?php
// Para o charset das páginas
ini_set('default_charset','UTF-8');

// Definindo variaveis de conexão com o Banco de Dados
$enddb = "localhost:3306";
$user = "root";
$pass = "";
$database = "db_teste";

// Acesso Local
$conndb = mysql_connect($enddb,$user,$pass,TRUE);

if(!$conndb){
    echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
	exit();
}
//Criando comunicação com a BASE DE DADOS do BANCO DE DADOS
mysql_select_db($database,$conndb);
mysql_set_charset('utf8',$conndb);

$sql1 = "select perfil from tabela_usuario where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
if ($resultado1 = mysql_fetch_assoc(mysql_query($sql1)) {
    if($resultado1['perfil'] == "admin") {
        header("Location: index.php");
    }
    if($resultado1['perfil'] == "usuario") {
        header("Location: inhome.php");
    }
    if($resultado1['perfil'] == "visitante") {
        header("Location: dashboard.php");
    }
	exit;
};     
?>

 

Veja que com apenas UMA CONEXÃO e UM ACESSO A BASE e com apenas 3 IF eu consegui identificar o usuário e o perfil dele.

 

Se tiver mais dúvidas estamos ai.

 

Se a minha resposta for útil não esqueça de agradecer e votar positivo.

Espero ter ajudado de alguma forma.

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
4 horas atrás, Felipe Guedes Coutinho disse:

kelvinferraz

Se você já sabe em qual base esse usuário vai acessar basta você realizar a conexão com o banco de dado em questão, mas eu acho que você não deve ter essa informação logo no login, você primeiro precisa verificar se o usuário esta na base, uma por uma até encontrar, esse é um ponto.

 

Então eu recomendo você a fazer assim:


<?php
// Para o charset das páginas
ini_set('default_charset','UTF-8');

// Definindo variaveis de conexão com o Banco de Dados
$enddb = "localhost:3306";
$user = "root";
$pass = "";
$database = "db_teste_1";

// Acesso Local
$conndb = mysql_connect($enddb,$user,$pass,TRUE);

if(!$conndb){
    echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
	exit();
}
//Criando comunicação com a BASE DE DADOS do BANCO DE DADOS
mysql_select_db($database,$conndb);
mysql_set_charset('utf8',$conndb);

//Aqui você faz um SELECT para validar o usuário e ver se ele esta na base.
//Se encontrar você redirecionar para a página que quer, caso contrário você faz outra conexão com a outra base de dados e repete esse processo
//Faz select na base, se encontrar redireciona se não faz acesso em outra base.

$sql1 = "select * from tabela_usuario where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
if ($resultado1 = mysql_fetch_assoc(mysql_query($sql1)) {
    header("Location: index.php");
	exit;
} else {
    database = "db_teste_2";
    $conndb = mysql_connect($enddb,$user,$pass,TRUE);
    
    if(!$conndb){
        echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
    	exit();
    }
    mysql_select_db($database,$conndb);
    mysql_set_charset('utf8',$conndb);
	$sql2 = "select * from tabela_admin where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
    if ($resultado2 = mysql_fetch_assoc(mysql_query($sql2)) {
	    header("Location: inhome.php");
	    exit;
    } else {
        database = "db_teste_3";
        $conndb = mysql_connect($enddb,$user,$pass,TRUE);
        
        if(!$conndb){
            echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
        	exit();
        }
        mysql_select_db($database,$conndb);
        mysql_set_charset('utf8',$conndb);
	    $sql3 = "select * from tabela_livre where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
        if ($resultado3 = mysql_fetch_assoc(mysql_query($sql3)) {
	        header("Location: dashboard.php");
	        exit;
        } else {
            header("Location: tela_logar.php");
            exit();
        }
    }
}        
?>

No exemplo acima o que eu fiz, me conectei a 1 Banco de Dados (um DataBase), fiz um select na tabela Tabela_Usuario, se eu encontrar o nome e a senha nesta base eu redireciono quem logou para a página INDEX.PHP, se não encontrar nessa base eu me reconecto no 2 Banco de Dados (outro DataBase), faço outro select na tabela Tabela_Admin, se eu encontrar o nome e a senha nesta base eu redireciono quem logou para a página INHOME.PHP, se não encontrar nessa base eu me reconecto no 3 Banco de Dados e faço outro select na tabela Tabela_Livre, se encontrar redireciona para a página DASHBOARD.PHP e por fim se não encontrar em nenhuma das bases redireciona para a tela de login, onde o usuário deve digitar o nome e a senha novamente.

 

Bom a ideia é essa, mas com os comandos acima você pode brincar como realmente deseja.

 

O que eu recomendo mesmo é você ter apenas UM BANCO DE DADOS e UMA TABELA DE USUÁRIO e nesta tabela você colocar UM CAMPO para identificar o TIPO de USUÁRIO, se é ADMIN, USUÁRIO ou VISITANTE e através deste campo você redirecionar para a página em questão ficando assim o código:


<?php
// Para o charset das páginas
ini_set('default_charset','UTF-8');

// Definindo variaveis de conexão com o Banco de Dados
$enddb = "localhost:3306";
$user = "root";
$pass = "";
$database = "db_teste";

// Acesso Local
$conndb = mysql_connect($enddb,$user,$pass,TRUE);

if(!$conndb){
    echo "Problemas ao realizar a conexao com o banco de dados (".mysql_error().")";
	exit();
}
//Criando comunicação com a BASE DE DADOS do BANCO DE DADOS
mysql_select_db($database,$conndb);
mysql_set_charset('utf8',$conndb);

$sql1 = "select perfil from tabela_usuario where nome = '".$_POST['nome']."' and senha = '".$_POST['sennha']."'";
if ($resultado1 = mysql_fetch_assoc(mysql_query($sql1)) {
    if($resultado1['perfil'] == "admin") {
        header("Location: index.php");
    }
    if($resultado1['perfil'] == "usuario") {
        header("Location: inhome.php");
    }
    if($resultado1['perfil'] == "visitante") {
        header("Location: dashboard.php");
    }
	exit;
};     
?>

 

Veja que com apenas UMA CONEXÃO e UM ACESSO A BASE e com apenas 3 IF eu consegui identificar o usuário e o perfil dele.

 

Se tiver mais dúvidas estamos ai.

 

Se a minha resposta for útil não esqueça de agradecer e votar positivo.

Espero ter ajudado de alguma forma.

 

Att
Felipe Guedes Coutinho

Cara show já me deu uma clareada na ideia. 

 

Mas supondo que seria uns 10 usuarios e cada usuario possuir uma base diferente, tipo um login de facebook da vida, como eu poderia fazer de uma forma generica?

Eu pensei assim:

1 - Login:
 bd_parametros
-login
-senha
-db_name

2 - Checou usuario, abra conexão com db_name
dentro de db_name
-nome
-email
-etc...

Mas supondo que no futuro eu tenha 20 base de dados, ou seja, 20 base de dados diferentes, ai que o bicho pega kkkk

Share this post


Link to post
Share on other sites

kelvinferraz

Então fera, por isso mesmo eu não recomendo você a separar por DataBase e muito menos por Tabelas.

 

O que eu recomendo mesmo você a fazer de modo genérico sem se preocupar com DE ONDE VEM O USUÁRIO é fazer um único BANCO DE DADOS (DATABASE) e dentro dessa base de dados você ter apenas UMA TABELA.

 

Exemplo

 

Database - db_meu_sistema

 

Esse é a base que você faz a conexão. Dentro desse DATABASE você cria apenas UM TABELA

tb_usuario.

 

Ai dentro dessa tabela você cria uma estrutura assim:

 

id_usuário - INT (10) AUTO INCREMENT 

nm_usuario - VARCHAR (70)

nm_login - VARCHAR (20)

cd_pass - VARCHAR (20)

id_perfil - VARCHAR (50)

 

Seguindo a tabela acima o que você PODE armazenas

 

id_usuario               nm_usuario                       nm_login                              cd_pass                      id_perfil

1                               Felipe Coutinho                fcoutinho                              mypassdeacesso     FACEBOOK

2                               José da Silva                    jsilva                                      passdele                    GOOGLE

3                               Ana Maria                         amaria                                   senhadamaria          TWITTER

4                               Mario Ribeiro                    mribeiro                                senharibeiro              FACEBOOK

 

Veja que eu tenho "tudo" o que preciso para redirecionar, tenho o ID do usuário para usar futuramente em outras consultas, o nome do individuo para exibir em algum lugar do seu sistema, o login e senha para autenticar o usuário e o SISTEMA.

 

Neste caso você faz o select na base de dados e dependendo do ID_PERFIL que é o SISTEMA você faz os IF da vida e redireciona ele para cada área. Entendeu.

 

É muito mais fácil do que você ter VARIAS BASE DE DADOS e VARIAS TABELAS e ter que ficar consultado cada base de dados e cada tabela para achar o seu usuário. Até porque isso deixa o seu sistema muito mais lento e conforme as bases vão aumentando, mais degradado o sistema fica.

 

O Banco De Dados deve ser usado de forma estruturada e o seu código precisa ser o mais "limpo" possível.

 

Se você mesmo assim quiser fazer vários database com varias tabelas sem problema, mas pelo menos você sabe dos riscos.

 

Att
Felipe Guedes Coutinho

 

Share this post


Link to post
Share on other sites
2 minutos atrás, Felipe Guedes Coutinho disse:

kelvinferraz

Então fera, por isso mesmo eu não recomendo você a separar por DataBase e muito menos por Tabelas.

 

O que eu recomendo mesmo você a fazer de modo genérico sem se preocupar com DE ONDE VEM O USUÁRIO é fazer um único BANCO DE DADOS (DATABASE) e dentro dessa base de dados você ter apenas UMA TABELA.

 

Exemplo

 

Database - db_meu_sistema

 

Esse é a base que você faz a conexão. Dentro desse DATABASE você cria apenas UM TABELA

tb_usuario.

 

Ai dentro dessa tabela você cria uma estrutura assim:

 

id_usuário - INT (10) AUTO INCREMENT 

nm_usuario - VARCHAR (70)

nm_login - VARCHAR (20)

cd_pass - VARCHAR (20)

id_perfil - VARCHAR (50)

 

Seguindo a tabela acima o que você PODE armazenas

 

id_usuario               nm_usuario                       nm_login                              cd_pass                      id_perfil

1                               Felipe Coutinho                fcoutinho                              mypassdeacesso     FACEBOOK

2                               José da Silva                    jsilva                                      passdele                    GOOGLE

3                               Ana Maria                         amaria                                   senhadamaria          TWITTER

4                               Mario Ribeiro                    mribeiro                                senharibeiro              FACEBOOK

 

Veja que eu tenho "tudo" o que preciso para redirecionar, tenho o ID do usuário para usar futuramente em outras consultas, o nome do individuo para exibir em algum lugar do seu sistema, o login e senha para autenticar o usuário e o SISTEMA.

 

Neste caso você faz o select na base de dados e dependendo do ID_PERFIL que é o SISTEMA você faz os IF da vida e redireciona ele para cada área. Entendeu.

 

É muito mais fácil do que você ter VARIAS BASE DE DADOS e VARIAS TABELAS e ter que ficar consultado cada base de dados e cada tabela para achar o seu usuário. Até porque isso deixa o seu sistema muito mais lento e conforme as bases vão aumentando, mais degradado o sistema fica.

 

O Banco De Dados deve ser usado de forma estruturada e o seu código precisa ser o mais "limpo" possível.

 

Se você mesmo assim quiser fazer vários database com varias tabelas sem problema, mas pelo menos você sabe dos riscos.

 

Att
Felipe Guedes Coutinho

 

Eu entendi, muito show sua explicação, porém a aplicação irá funcionar tipo assim:

base: db_app

vai ter varios outros campos, tipo dados de clientes, imagens, documentos anexados etc..

Eu imaginei que seria melhor cada usuario ter sua base por conta de separar os dados, ou eu poderia fazer isso em um select da vida?

TIPO: SELECIONA DADOS CLIENTES, IMAGENS, DOCUMENTOS SOMENTE SE USUARIO == "JORGE"

Não sei to meio perdido nessa logica entende, se fosse apenas para logar e trazer o perfil do cara e redirecionar seria tranquilo, problema que eu imagino vários usuários acessando e cadastrando dados no banco.

Share this post


Link to post
Share on other sites

Não sei se você sabe a diferença entre DATABASE e TABELAS.

 

Mas o que você quer fazer é o seguinte

 

Vamos seguir as nomemclaturas abaixo

{   } - Sisteme

[ - ] - DataBase

<T> - tabela

html

 

O que você quer fazer é isso

 

Sistema      Base              Tabela            Pagina

        /--------- [ - ] -------------  <T> -------------- html1

{   } ------------ [ - ] -------------  <T> ------------- html2

        \--------- [ - ] -------------  <T> -------------- html3

 

O que eu recomendo é

 

                                                    / -------------- html1

{   } ------------ [ - ] -------------  <T> ------------- html2

                                                    \ -------------- html3

 

Tem uma diferença de perform, porque do seu jeito de pensar você tem 3 bancos, 3 tabelas e 3 páginas, do jeito que eu recomendo você tem 1 sistema, 1 banco, 1 tabela e 3 IF de redirecionamento, o que é muito mais performático.

 

 

Espero ter ajudado

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
1 minuto atrás, Felipe Guedes Coutinho disse:

Não sei se você sabe a diferença entre DATABASE e TABELAS.

 

Mas o que você quer fazer é o seguinte

 

Vamos seguir as nomemclaturas abaixo

{   } - Sisteme

[ - ] - DataBase

<T> - tabela

html

 

O que você quer fazer é isso

 

Sistema      Base              Tabela            Pagina

        /--------- [ - ] -------------  <T> -------------- html1

{   } ------------ [ - ] -------------  <T> ------------- html2

        \--------- [ - ] -------------  <T> -------------- html3

 

O que eu recomendo é

 

                                                    / -------------- html1

{   } ------------ [ - ] -------------  <T> ------------- html2

                                                    \ -------------- html3

 

Tem uma diferença de perform, porque do seu jeito de pensar você tem 3 bancos, 3 tabelas e 3 páginas, do jeito que eu recomendo você tem 1 sistema, 1 banco, 1 tabela e 3 IF de redirecionamento, o que é muito mais performático.

 

 

Espero ter ajudado

 

Att
Felipe Guedes Coutinho

Eu entendi e sim entendo o conceito de base e tabela.

Mas não seria isso não, seria mais ou menos assim:

 

Sistema      Base              Tabela            Pagina

        /--------- [ - ] -------------  <T> -------------- html1

{   } ------------ [ - ] -------------  <T> ------------- html1

        \--------- [ - ] -------------  <T> -------------- html1

Não teria paginas diferentes para os usuários, eles iriam cair no mesmo lugar exemplo "dashboard.php"
O que eu imaginei seria quando o usuário logar no sistema ele validar --> entrar na conexao desse usuario ---> trazer a pagina html1
 

Share this post


Link to post
Share on other sites

Então, mas é que sua lógica não está trabalhando corretamente com a sua necessidade.

 

Você quer ter uma "TABELA" para cada usuário e ter todas as informações possiveis do seu sistema que o usuário possa utilizar dentro da sua prória tabela, o que está errado.

 

Você tem que FRAGMENTAR o seu sistema em tabelas...

 

Primeiro, o cara vai precisar logar, uma tabela para LOGIN com pelo menos o ID, LOGIN, SENHA.

Ai segundo, o cara vai ter "Imagens" cadastradas no seu sistema, uma tabela para IMAGEM com pelo menos os campos ID que é de registro, ID_USUÁRIO para você identificar qual é o usuário que está carregando a imagem para depois você consultar, NOME_IMAGEM.

Ai depois você quer colocar as informações pessoais do usuario, ESTADO CIVIL, EMPREGO, IDADE, SEXO, ETC... você cria uma tabela de INFORMAÇÔES PESSOAIS, com pelo menos os campos ID que é o registro de informações, ID_USUÁRIO que é o campo chave para você resgatar informações desse usuário e os dados dele, ESTADO CIVIL, EMPREGO, IDADE, SEXO, ETC...

Sacou, você tem que ter uma tabela para cada "funcionalidade" do seu sistema.

 

Não ter uma tabela para cada usuário e ter ZILHÕES de colunas informativas e ZILHOS de registros em VARIAS BASES e TABELAS.

 

Entende?

 

Recomendo você tentar estruturar primeiro a sua necessidade e montar 1 banco de dados com N tabelas para cada FUNCIONALIDADE.

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites

kelvinferraz

Então Kelvin, você está pensando de maneira errada.

 

Olha, faça assim, cria 1 banco de dados. Okay?

Feito isso você cria 1 tabela de usuario. Okay?

 

Com isso você faz o LOGIN.

 

Ai para cada outra coisa que você quer guardar do usuário você cria uma tabela para isso.

Se a pessoa vai subir uma IMAGEM.

 

Cria uma tabela de imagem, nas tabelas que você ira guardar a informação do usuário, você precisa ter 1 campo que é o vinculo com o usuário, no caso o que eu recomendo.

 

TABELA USUARIO cada USUARIO tem o seu ID, esse ID você coloca em todas as tabelas que o usuário vai ter interação, nesse exemplo na tabela imagem, pois ele ira incluir informação nela e se você precisar acessar essa tabela para recuperar a imagem desse usuário você vai na tabela de USUARIO com o login e senha, pena o ID dele e acessa a tabela de IMAGEM com o campo ID_USUARIO = ao ID que você buscou na tabela USUARIO.

 

E você vai fazer isso para todas as outras tabelas.

 

Isso é modelagem. entende.

 

Se eu quiser pegar o nome desse individo, se eu não tenho nada, LOGIN e SENHA na tabela USUARIO para obter o nome, agora eu quero a foto dele, com o LOGIN e SENHA eu tenho o ID da tabela de usuario desse usuario, pega esse ID e vou na tabela imagem e pego a imagem, se eu quero saber as informações pessoais dele, vou na tabela usuario pego o ID e vou na tabela DADOS PESSOAIS obter as informações..

 

É assim que tem que funcionar.

 

O seu sistema que tem funcionar assim

                                /-------  <T> -------\

                                /-------  <T> -------\

{   } ------------ [ - ] -------------  <T> ------------- html1

                                \-------  <T> -------/

                                \-------  <T> -------/

 

É assim que você tem que pensar, no sistema acima como exemplo.

Nunca pensar que cada usuário tem que ter SUA BASE DE DADOS e SUA TABELA.

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
1 minuto atrás, Felipe Guedes Coutinho disse:

Então, mas é que sua lógica não está trabalhando corretamente com a sua necessidade.

  

Você quer ter uma "TABELA" para cada usuário e ter todas as informações possiveis do seu sistema que o usuário possa utilizar dentro da sua prória tabela, o que está errado.

 

Você tem que FRAGMENTAR o seu sistema em tabelas...

 

Primeiro, o cara vai precisar logar, uma tabela para LOGIN com pelo menos o ID, LOGIN, SENHA.

Ai segundo, o cara vai ter "Imagens" cadastradas no seu sistema, uma tabela para IMAGEM com pelo menos os campos ID que é de registro, ID_USUÁRIO para você identificar qual é o usuário que está carregando a imagem para depois você consultar, NOME_IMAGEM.

Ai depois você quer colocar as informações pessoais do usuario, ESTADO CIVIL, EMPREGO, IDADE, SEXO, ETC... você cria uma tabela de INFORMAÇÔES PESSOAIS, com pelo menos os campos ID que é o registro de informações, ID_USUÁRIO que é o campo chave para você resgatar informações desse usuário e os dados dele, ESTADO CIVIL, EMPREGO, IDADE, SEXO, ETC...

Sacou, você tem que ter uma tabela para cada "funcionalidade" do seu sistema.

 

Não ter uma tabela para cada usuário e ter ZILHÕES de colunas informativas e ZILHOS de registros em VARIAS BASES e TABELAS.

 

Entende?

 

Recomendo você tentar estruturar primeiro a sua necessidade e montar 1 banco de dados com N tabelas para cada FUNCIONALIDADE.

 

Att
Felipe Guedes Coutinho

Cara entendi, mas o sistema não é tão simples quanto trazer um perfil.
 

 

Eu acho que não to conseguindo explicar direito o que eu quero kkkk

Seria assim:

 - Pode existir N usuário que vão acessar esse sistema.
- O sistema vai ter suas funcionalidades: Cadastro de cliente, gerar documentos e isso não seria no perfil do próprio usuário e sim funcionalidades que ira ter ao acessar o dashboardadmin.php
- Na minha cabeça, cada usuário iria utilizar a mesma pagina de login, porém quando logar ao inves de conectar em uma base generica, utilizar uma base especifica e que traga os dados que ele já fez no sistema, como clientes cadastrados, produtos cadastrados etc.. desse perfil.

Então vou tentar melhorar a pergunta: O que seria mais viável, eu utilizar uma base para cada usuário assim que ele se conectar, ou quando usuário logar eu fazer esse "filtro" de acordo com sua tabela?

Resumidamente, eu consigo filtrar de acordo com a Tabela especifica desse usuário somente as outras tabelas que é referente a ele?


 

Share this post


Link to post
Share on other sites
4 minutos atrás, Felipe Guedes Coutinho disse:

kelvinferraz

Então Kelvin, você está pensando de maneira errada.

 

Olha, faça assim, cria 1 banco de dados. Okay?

Feito isso você cria 1 tabela de usuario. Okay?

 

Com isso você faz o LOGIN.

 

Ai para cada outra coisa que você quer guardar do usuário você cria uma tabela para isso.

Se a pessoa vai subir uma IMAGEM.

 

Cria uma tabela de imagem, nas tabelas que você ira guardar a informação do usuário, você precisa ter 1 campo que é o vinculo com o usuário, no caso o que eu recomendo.

 

TABELA USUARIO cada USUARIO tem o seu ID, esse ID você coloca em todas as tabelas que o usuário vai ter interação, nesse exemplo na tabela imagem, pois ele ira incluir informação nela e se você precisar acessar essa tabela para recuperar a imagem desse usuário você vai na tabela de USUARIO com o login e senha, pena o ID dele e acessa a tabela de IMAGEM com o campo ID_USUARIO = ao ID que você buscou na tabela USUARIO.

 

E você vai fazer isso para todas as outras tabelas.

 

Isso é modelagem. entende.

 

Se eu quiser pegar o nome desse individo, se eu não tenho nada, LOGIN e SENHA na tabela USUARIO para obter o nome, agora eu quero a foto dele, com o LOGIN e SENHA eu tenho o ID da tabela de usuario desse usuario, pega esse ID e vou na tabela imagem e pego a imagem, se eu quero saber as informações pessoais dele, vou na tabela usuario pego o ID e vou na tabela DADOS PESSOAIS obter as informações..

 

É assim que tem que funcionar.

 

O seu sistema que tem funcionar assim

                                /-------  <T> -------\

                                /-------  <T> -------\

{   } ------------ [ - ] -------------  <T> ------------- html1

                                \-------  <T> -------/

                                \-------  <T> -------/

 

É assim que você tem que pensar, no sistema acima como exemplo.

Nunca pensar que cada usuário tem que ter SUA BASE DE DADOS e SUA TABELA.

 

Att
Felipe Guedes Coutinho

Hmmm

 

Acho que agora ficou um pouco mais claro, cada tabela vou colocar o ID desse usuário, para que quando ele logar, trazer as informações que ele cadastrou na base de dados.

Share this post


Link to post
Share on other sites

kelvinferraz

SIM, mas não é nas BASES é nas TABELAS porque BASE DE DADOS você só vai ter UMA, a BASE DO SEU SISTEMA e dentro dessa base você vai ter VÁRIAS tabelas, cada uma com a sua respectiva funcionalidade, entendeu?

 

Uma tabela para PRODUTO, uma tabela para DOCUMENTOS GERADOS, etc... o que você tem que ter em mente é o seguinte, eu vou colocar informações em TABELAS diferente, como vou recuperar, simples, você tem que gravar em UMA COLUNA o ID do usuário, assim você recuperar as ações dele pelo ID, entendeu?

 

Eu entendi a sua necessidade, então vamos com muita calma porque você não está entendendo o que é MODELAR.

 

Vou usar o seu exemplo:

- Pode existir N usuário que vão acessar esse sistema.
- O sistema vai ter suas funcionalidades: Cadastro de cliente, gerar documentos e isso não seria no perfil do próprio usuário e sim funcionalidades que ira ter ao acessar o dashboardadmin.php
- Na minha cabeça, cada usuário iria utilizar a mesma pagina de login, porém quando logar ao inves de conectar em uma base generica, utilizar uma base especifica e que traga os dados que ele já fez no sistema, como clientes cadastrados, produtos cadastrados etc.. desse perfil.

 

Respondendo por partes.

1 - Sim, existiram varios usuários, então para ele logar, TABELA_USUARIO por LOGIN e SENHA.

OKAY??? - Resolvido.

 

2 - Para cada funcionalidade você vai ter UMA TABELA e NÃO UMA BASE DE DADOS.

Você vai criar uma tabela para GERAR DOCUMENTOS essa é uma tabela FILHA, você quer que ao acessar o seu sistema "EU um USUÁRIO" recupere todos os dados que eu já fiz, ENTÃO, eu tenho um ID no seu sistema, esse ID precisa estar em todos os registros onde eu REALIZAR UMA INTERAÇÃO em todas as tabelas, então nessa tabela filha eu vou ter uma COLUNA com o ID que é apenas um contador EEEEEEE o meu ID_USUARIO (esse ID_USUARIO é o meu ID na tabela de LOGIN que será UNICO, só existira 1 linha na tabela USUARIO) que me represente, por isso eu TEREI UM NUMERO, digamos que 1.

 

Então é isso, eu gerei um documento, vou inserir minha interação na tabela DOCUMENTO.

 

1 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento1 <-- documento gerado por mim

 

Nessa tabela eu posso ter N registros, mas só serão os MEUS onde a segunda coluna tiver o MEU ID = 1

ID                           ID_USUARIO            DOCUMENTOGERADOS

1 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento1

2 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento2

3 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento3

4 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento4

5 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento5

6 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento6

7 registro da tabela     2 (esse NÃO é o meu ID) GereiOMeuDocumento7

8 registro da tabela     2 (esse NÃO é o meu ID) GereiOMeuDocumento8

 

Veja, é uma tabela e eu estou usando o DASHBOARD para colocar registros nela, para eu recuperar os MEUS DADOS que você mencionou eu não tenho que ter uma BASE e sim UMA TABELA ai eu acesso essa tabela onde a coluna ID_USUARIO que é a segunda coluna seja igual ao meu ID 1.

 

Então se eu fizer um select nessa TABELA eu vou retornar apenas os meus dados

1 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento1

2 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento2

3 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento3

4 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento4

5 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento5

6 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento6

 

VEJA QUE NÃO RETORNEI OS REGISTROS DO OUTRO USUARIO APENAS O MEU DE 1 a 6

 

Pronto, tenho as minhas informações.... você tem que fazer isso para TODAS AS FUNCIONALIDADES, não estou falando em montar perfil, estou falando em SISTEMA

 

3 - Isso vale para TUDO, você comentou em CADASTRAR PRODUTOS, você vai ter uma TABELA PRODUTOS, os produtos que eu cadastrar terão O MEU ID na coluna ID_USUARIO, para que eu recupere os meus PRODUTOS CADASTRADOS futuramente através do meu ID...

 

Então, não pense em ter uma BASE DE DADOS para CADA COISA com N TABELAS, você está querendo DUPLICAR BASE E TABELA para fazer algo que TABELAS distintas e estruturadas fazem.

 

Entendeu?

Share this post


Link to post
Share on other sites
5 minutos atrás, Felipe Guedes Coutinho disse:

kelvinferraz

SIM, mas não é nas BASES é nas TABELAS porque BASE DE DADOS você só vai ter UMA, a BASE DO SEU SISTEMA e dentro dessa base você vai ter VÁRIAS tabelas, cada uma com a sua respectiva funcionalidade, entendeu?

 

Uma tabela para PRODUTO, uma tabela para DOCUMENTOS GERADOS, etc... o que você tem que ter em mente é o seguinte, eu vou colocar informações em TABELAS diferente, como vou recuperar, simples, você tem que gravar em UMA COLUNA o ID do usuário, assim você recuperar as ações dele pelo ID, entendeu?

 

Eu entendi a sua necessidade, então vamos com muita calma porque você não está entendendo o que é MODELAR.

 

Vou usar o seu exemplo:

- Pode existir N usuário que vão acessar esse sistema.
- O sistema vai ter suas funcionalidades: Cadastro de cliente, gerar documentos e isso não seria no perfil do próprio usuário e sim funcionalidades que ira ter ao acessar o dashboardadmin.php
- Na minha cabeça, cada usuário iria utilizar a mesma pagina de login, porém quando logar ao inves de conectar em uma base generica, utilizar uma base especifica e que traga os dados que ele já fez no sistema, como clientes cadastrados, produtos cadastrados etc.. desse perfil.

 

Respondendo por partes.

1 - Sim, existiram varios usuários, então para ele logar, TABELA_USUARIO por LOGIN e SENHA.

OKAY??? - Resolvido.

 

2 - Para cada funcionalidade você vai ter UMA TABELA e NÃO UMA BASE DE DADOS.

Você vai criar uma tabela para GERAR DOCUMENTOS essa é uma tabela FILHA, você quer que ao acessar o seu sistema "EU um USUÁRIO" recupere todos os dados que eu já fiz, ENTÃO, eu tenho um ID no seu sistema, esse ID precisa estar em todos os registros onde eu REALIZAR UMA INTERAÇÃO em todas as tabelas, então nessa tabela filha eu vou ter uma COLUNA com o ID que é apenas um contador EEEEEEE o meu ID_USUARIO (esse ID_USUARIO é o meu ID na tabela de LOGIN que será UNICO, só existira 1 linha na tabela USUARIO) que me represente, por isso eu TEREI UM NUMERO, digamos que 1.

 

Então é isso, eu gerei um documento, vou inserir minha interação na tabela DOCUMENTO.

 

1 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento1 <-- documento gerado por mim

 

Nessa tabela eu posso ter N registros, mas só serão os MEUS onde a segunda coluna tiver o MEU ID = 1

ID                           ID_USUARIO            DOCUMENTOGERADOS

1 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento1

2 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento2

3 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento3

4 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento4

5 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento5

6 registro da tabela     1 (esse é o meu ID)          GereiOMeuDocumento6

7 registro da tabela     2 (esse NÃO é o meu ID) GereiOMeuDocumento7

8 registro da tabela     2 (esse NÃO é o meu ID) GereiOMeuDocumento8

 

Veja, é uma tabela e eu estou usando o DASHBOARD para colocar registros nela, para eu recuperar os MEUS DADOS que você mencionou eu não tenho que ter uma BASE e sim UMA TABELA ai eu acesso essa tabela onde a coluna ID_USUARIO que é a segunda coluna seja igual ao meu ID 1.

 

Então se eu fizer um select nessa TABELA eu vou retornar apenas os meus dados

1 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento1

2 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento2

3 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento3

4 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento4

5 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento5

6 registro da tabela     1 (esse é o meu ID) GereiOMeuDocumento6

 

VEJA QUE NÃO RETORNEI OS REGISTROS DO OUTRO USUARIO APENAS O MEU DE 1 a 6

 

Pronto, tenho as minhas informações.... você tem que fazer isso para TODAS AS FUNCIONALIDADES, não estou falando em montar perfil, estou falando em SISTEMA

 

3 - Isso vale para TUDO, você comentou em CADASTRAR PRODUTOS, você vai ter uma TABELA PRODUTOS, os produtos que eu cadastrar terão O MEU ID na coluna ID_USUARIO, para que eu recupere os meus PRODUTOS CADASTRADOS futuramente através do meu ID...

 

Então, não pense em ter uma BASE DE DADOS para CADA COISA com N TABELAS, você está querendo DUPLICAR BASE E TABELA para fazer algo que TABELAS distintas e estruturadas fazem.

 

Entendeu?

Entendi, poxa show!!

Agora ficou bem mais claro mesmo!

Só para ver se entendi:
DB_PRINCIPAL

 |___#TABELAS
                        |_____>  USUARIOS ------------------------------------> id, nome, login, senha
                        |_____> PRODUTOS ------------------------------------>id, cor, peso, tipo
                        |______>IMAGENS --------------------------------------> id, nome, extensao
 

Só para ficar claro para mim, que sou bem leigo ainda e estou aprendendo, eu iria fixar um ID do meu usuario na tabela produtos de que forma?

eu cadastro de fato de forma manual na tabela produtos o id do meu usuario? 
ficaria:
|_____> PRODUTOS ------------------------------------>id, cor, peso, tipo, id_usuario

Share this post


Link to post
Share on other sites

Inclusive acho que até acabei achando um video que pode até ajudar nessa minha confusão mental que proporcionei a você kkkk

 

Tudo indica que seja uma "rede social" mas ai ja da para ter uma ideia de como ele vai trazer os posts desse usuário o que serviria para minha questão.

 

 

 

Cara agradeço de verdade o seu tempo e a boa explicação que você deu.

 

Desculpa qualquer coisa!
 

 

 

Share this post


Link to post
Share on other sites

Seu banco de dados fica assim:

 

DB_PRINCIPAL
 |___TABELAS_USUARIOS ------------------------------------> id, nome, login, senha (Esta é a tabela que DA um NUMERO para o seu USUARIO <- este número é o valor que vamos colocar em todas as tabelas no campo ID_USUARIO para saber quem foi que incluiu o registro na tabela.)
 |___TABELAS_PRODUTOS ------------------------------------>id, ID_USUARIO, cor, peso, tipo (O ID é o ID do PRODUTO, o ID_USUARIO que identifica o seu usuario deve ter sua própria coluna, por exemplo a destacado em vermelho.
 |___TABELAS_IMAGENS --------------------------------------> id, ID_USUARIO, nome, extensao

 

Entendeu? 

Quando eu me cadastrar no seu sistema, A primeira tabela que vou me INCLUIR é a tabela TABELAS_USUARIOS, ao fazer isso eu ganho o meu ID, ele nunca mais vai mudar, serei unico nessa tabela.

 

ENTÃO, EU vou incluir um produto, TABELAS_PRODUTOS ------------------------------------>id, ID_USUARIO, cor, peso, tipo.

O ID é o ID do produto, ID = 1 COR = VERMELHO, mas quem fez esse INSERT, HAAAAA, eu, ID_USUARIO = 1 (esse 1 é o meu ID da tabela USUARIOS, que foi a primeira tabela que eu incluir.

 

Agora eu vou incluir um outro protudo.

TABELAS_PRODUTOS ------------------------------------>id, ID_USUARIO, cor, peso, tipo.

O ID é o ID do produto, ID = 2 COR = AZUL, mas quem fez esse INSERT, HAAAAA, VOCÊ, ID_USUARIO = 2 (esse 2 é o seu ID da tabela USUARIOS, que foi a primeira tabela que você se incluiu.

 

ENTENDEU...

 

Isso serve para TODAS  as tabelas, sendo que uma tabela representa 1 funcionalidade.

Share this post


Link to post
Share on other sites

kelvinferraz

Que isso fera, estou aqui para ajudar, não é perda de tempo, porque TODA pergunta simples leva a um pensamento e isso sempre aumenta os nossos conhecimentos.

 

Se você não entender, continue perguntando, você só vai aprender se procurar entender.

Você precisa ter curiosidade e ser mente aberta para nunca se prender a um único pensamento.

Trabalho com isso a 12 anos, mas já apanhei muito.

O que precisar pode contar comigo aqui no forum.

 

Forte abraço

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
10 minutos atrás, Felipe Guedes Coutinho disse:

kelvinferraz

Que isso fera, estou aqui para ajudar, não é perda de tempo, porque TODA pergunta simples leva a um pensamento e isso sempre aumenta os nossos conhecimentos.

 

Se você não entender, continue perguntando, você só vai aprender se procurar entender.

Você precisa ter curiosidade e ser mente aberta para nunca se prender a um único pensamento.

Trabalho com isso a 12 anos, mas já apanhei muito.

O que precisar pode contar comigo aqui no forum.

 

Forte abraço

 

Att
Felipe Guedes Coutinho

Show, obrigado novamente!

Legal já tem uma otima bagagem 12 anos é experiencia, eu tenho isso mas sou da área de infra kkkk ai imagina né, cara SysAdmin inventando moda, sai essas duvidas malucas.

 

Muito obrigado!

Share this post


Link to post
Share on other sites
Em 16/08/2019 at 15:00, Felipe Guedes Coutinho disse:

kelvinferraz

Que isso fera, estou aqui para ajudar, não é perda de tempo, porque TODA pergunta simples leva a um pensamento e isso sempre aumenta os nossos conhecimentos.

 

Se você não entender, continue perguntando, você só vai aprender se procurar entender.

Você precisa ter curiosidade e ser mente aberta para nunca se prender a um único pensamento.

Trabalho com isso a 12 anos, mas já apanhei muito.

O que precisar pode contar comigo aqui no forum.

 

Forte abraço

 

Att
Felipe Guedes Coutinho

Bom dia Felipe,

 

Cara surgiu uma outra dúvida, que no decorrer do desenvolvimento eu tive, vamos supor que por exemplo esse usuário que vai enxergar somente as alterações que ele fez, consiga cadastrar outros usuário e esses outros usuários que ele criou precisam enxergar o que ele cadastrou.

 

Ex:

UsuarioX ------------------------------------ CAD PRD_IDX --------------------- CAD USUARIOY

 

UusarioY ------------------------------------ CAD PROD_IDX_IDY

 

E vice versa também, as alterações que o usuário X fizer o Y tem que ler e o que o Y fizer o X tem que ler, fiquei meio confuso com isso.

 

 

Share this post


Link to post
Share on other sites

@kelvinferraz

 

Isso é simples, no SELECT você tem o campo ID_USUÁRIO certo, lembra que comentamos que para você obter todos os registros que essa pessoa incluiu na tabela bastava colocar o número ID dele da tabela de TB_USUÁRIO para obter seu conteudo, pois então, se você quer ver o conteúdo de outros usuários basta você não colocar nada no campo ID_USUARIO e você vai obter a lista de registros que todos os usuários incluiram na tabela.

 

Entendeu?

 

Funcionando do jeito que você mencionou:

UsuarioX ------------------------------------ CAD PRD_IDX --------------------- CAD USUARIOY

UusarioY ------------------------------------ CAD PROD_IDX_IDY

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites

Olá pessoal, esta é minha primeira postagem aqui no fórum. Eu deveria ter visto esse tópico antes mas fiz algo semelhantena semana passada e gostaria da opinião de vocês.

 

Criei um sistema para cadastro de clientes e outras informações. Seria impossível criar uma página diferente para cada um ou alterar as consultas.

O BD_1 é o principal e nele tem a tabela usuários. Nessa tabela há colunas de categoria e níveis de acesso.

As categorias são Sócio, Associado, Contratado e Coworking

As três primeiras categorias compartilham do mesmo banco, onde todos tem acesso a tudo de todos, já o Coworking não pode ter acesso aos dados dos primeiros, nem os primeiros aos do Coworking, lembrando que os dados cada Coworking são restritos a ele, ou seja, somente ele e nenhum outro coworking poderá acessar.

 

O script de inserção de usuários faz essa triagem de categoria, inserindo todos os usuários no BD_1, entretanto, se a categoria de usuário for a de Coworking além de inserir somente o usuário no DB_1 ele irá criar um novo banco de dados com a id do coworking (id_BD), selecionando o banco no login.

 

Dessa forma, todo coworking que eu crio ele irá gerar um novo BD, (id_x_BD), e todo S,A,C que eu cadastrar ficará no BD_1

 

O que acham?

 

O único inconveniente desse sistema que desenhei é que não consegui conectar ao banco diretamente no login, tendo que colocar a conexão em cada script...

 

Alguma dica, pois não gostaria de ter que repensar em reescrever tudo...

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Leandro Volanick
      Boa tarde pessoal.
       
      Gostaria de uma ajuda em uma consulta sql, onde quero agrupar os todos produtos comprados pelo mesmo CPF, dentro de uma array. 
       
      Segue o que estou usando:
      $data=mysqli_query($mysqli, "SELECT xml.id, xml.xProd as produto, prod.id as iddoproduto, GROUP_CONCAT( prod.xProd ) FROM produtos AS prod LEFT JOIN xml as xml ON xml.xProd = prod.xProd GROUP BY xml.CPFdest"); while($info=mysqli_fetch_array($data)) echo '['.$info['iddoproduto'].'],'; No momento, o codigo está trazendo apenas 1 produto, quero que ele printe todos produtos que o CPFdest já comprou.
       
       
    • By Vítor Gonçalves
      Boa Tarde, gostaria se alguém poderia me ajudar!
      tenho um sistema desktop que é validado a cada 6 meses, quando termina essa validade ele pedi para renovar!
      - desejo criar um script em PHP  com a seguinte função:
      -pegar a senha gerada no sistema e enviar para o servidor web( hostinger server-sql) via php
      - o servidor gera e mostra uma contra senha  para ser copiada de volta.
      - ao colar a contra senha no campo "nova licença" no meu programa, ele compara com a que tá no banco de dados na hostinger se bate a mesma e libera o uso.
       
      - já vi isso em outro sistema mas não tive acesso aos scripts para ver como funciona.
    • By Anonicah
      Olá preciso de ajuda com esse exercício. Montei até a parte de formulário + validação de javascrip no dreamweaver mas buguei com o resto. O que eu fiz:
       

      <html>
      <head>
      <title> Formulário CPF validado com Java Script </title>
          
          <script language="javascript" type="text/javascript">
      function validar() {
      var cpf = form1.cpf.value;
          
      if (cpf == "") {
      alert('Preencha o campo com seu cpf');
      form1.cpf.focus();
      return false;
      }
          
      }
      </script>
          
          
      </head>
      <body>
      <form name="form1" action="enviar.php" method="post">
      CPF:
      <input name="cpf" type="text"><br /><br />
      <input type="submit"  onclick="return validar()">
      </form>
      </body>
      </html>
       
       
      EXERCÍCIO
      Criar um formulário simples em html com um único campo CPF;
      Fazer uma validação em javascript antes de fazer o post;
      Consumir o WS https://bi.vidaclass.com.br/utils para consultar informações do CPF enviado pelo form;
      Do retorno obtido exibir na tela:
      Nome, email, telefone
      Se tem compra em saude: Sim | Não
      Quantas compras: (5) ex.
      Se tem farma: Sim | Não
      Se tem dependente: Sim | Não
      Qtd. de dependentes: (2) ex.

      Obtem o token para consumir os endpoints;
      https://bi.vidaclass.com.br/auth
      {
          "company_id": 1,
          "username": "webmaster@vidaclass.com.br",
          "password": "Teste20170705"
      }
      Endpoint para consultar o CPF
      https://bi.vidaclass.com.br/utils
      {
          "action": 4,
          "key": {
              "cpf": 25383193820
          }
      }
    • By Luciano Marques
      Então pessoal é o seguinte: Estou tendo problemas para impedir acesso simultâneo no meu projeto. Foi depois de muito pesquisar que vim aqui abrir esse tópico. 
      Enfim, eu até consegui colocar uma teoria em prática que era a de criar uma coluna na tabela `usuarios` com 1 para ativo, e 2 para  inativo. e depois coloquei no topo a condição IF para se 1 já preenchido não permite o login. até ai de boa. o problema vem se o usuário não desloga só fecha a janela. a coluna ainda permanece como ativa 1. mesmo expirando o login, não ocorre o update na base de dados. Se alguém puder me ajudar nessa, preciso concluir esse trabalho ainda essa semana. desde já agradeço 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.