Ir para conteúdo

kelvinferraz

Members
  • Total de itens

    24
  • Registro em

  • Última visita

Posts postados por kelvinferraz


  1. Boa tarde Devs,

     

    Estou precisando de uma ajuda, estou desenvolvendo um sistema e a ideia é publica-lo na web para os meus clientes acessarem, porém gostaria de poder realizar a cobrança de acesso a esse sistema, cobrando uma taxa  mensal, alguém já desenvolveu algo do tipo e poderia me dar uma força?

     

    A ideia é o cliente acessar o site em seguida ir em cadastre-se, (nesse ponto abrirá uma opção de forma de pagamento ainda não sei qual API tentar utilizar PagSeguro, Paypal, MercadoPago) mas enfim o cliente só consegue se registrar e acessar após a confirmação do pagamento e consequentemente no mês seguinte para manter o acesso efetuar novamente o pagamento, como se fosse uma conta de acesso Netflix.

     

    Sei que deve ser complexo tentar implementar, porém se alguém tiver um case para poder me explicar já ajudaria.

     

     

    Obrigado

     


  2. Bom dia pessoal!

     

    Estou com uma situação, vou tentar colocar de forma clara e objetiva:

    Possuo uma aplicação que ainda estou em desenvolvimento no Laravel, a ideia da aplicação é liberar o acesso após a confirmação do pagamento de uma mensalidade, se o usuario não efetuar o pagamento ele não libera o acesso.

    Porém existem duas situações:

    1. É o usuário que vai pagar mensalmente e a verificação seria todo mês de um novo boleto gerado;
    2. O usuário que opinar pagar um plano anual então essa verificação seria feita anualmente.

     

    A ideia é utilizar ao menos no inicio uma forma de integrar o PagSeguro com o Laravel e fazer essa verificação, eis que surge minha dúvida a que nível isso é possível? Confesso que estou meio perdido em relação a isso, caso alguém tenha algum "case" parecido, será que poderia me dar uma ajuda, ao menos para tentar explicar a melhor forma de fazer esse tipo de validação/acesso?

     

     

    Desde já agradeço a todos!


  3. Bom dia pessoal!

     

    Estou desenvolvendo uma aplicação para um amigo, e surgiu um problema que estou tentando resolver faz alguns dias mas não da certo, possuo um campo no formulário no qual deve ser preenchido, porém não será salvo em BD ou algo do tipo e sim será gerado um PDF. Estou utilizando Laravel 5.8, até achei um código que me deu uma luz na internet e a parte de duplicar o campo do form esta funcionando, segue imagem de como esta o campo na view:
    1906860952_Capturadetelade2019-09-2709-35-39.thumb.png.456c32c5b5804d8ae4da0c5bbd682bf9.png

     

    Os botoẽs de + e  - são os botões que adicona ou remove os campos no form, porém eu dei um dd() na saida desses forms e só esta trazendo o primeiro campo:
    632854745_Capturadetelade2019-09-2709-35-52.png.755ced7ed4f44b8c72548e1e1a9bf862.png

     

    O campo 2 que foi gerado não traz, será que alguém pode me dar uma força, segue o código em HTML e javascript que eu encontrei:

     <div class="row">
                    <label for="exampleFormControlSelect1" class="font-weight-bold">Selecione as Armas:</label>
                    <div class="form-check">
                        <br>
                        <div class="form-row my-2">
                            <div id="origem">
                                <div class="form-group col-md-6 navbar-form navbar-left">
                                    <label for="name">Tipo</label>
                                    <input type="text" class="form-control" id="tipo" name="tipo[]">
     
                                    <label for="name">Marca</label>
                                    <input type="text" class="form-control" id="marca" name="marca[]" >
     
                                    <label for="name">Calibre</label>
                                    <input type="text" class="form-control" id="calibre" name="calibre[]">
     
                                    <label for="name">Nº Série</label>
                                    <input type="text" class="form-control" id="nserie" name="nserie[]" >
     
                                    <label for="name">Registro/SIGMA</label>
                                    <input type="text" class="form-control" id="regsigma" name="regsigma[]" >
     
                                    <button type="button" class="btn btn-default" onclick="duplicarCampos();"><i class="fas fa-plus-square"></i></button>
                                    <button type="button" class="btn btn-default" onclick="removerCampos(this);"><i class="fas fa-minus-square"></i></button>
                                </div>
     
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                                <div id="destino">
                                </div>
                    </div>
     
                
     
                <script type="text/javascript">
     
                    function duplicarCampos(){
                        var clone = document.getElementById('origem').cloneNode(true);
                        var destino = document.getElementById('destino');
                        destino.appendChild (clone);
                        
                        var camposClonados = clone.getElementsByTagName('input');
                        
                        for(i=0i<camposClonados.length;i++){
                            camposClonados[i].value = '';
                        }
                    }
     
                    function removerCampos(id){
                        var node1 = document.getElementById('destino');
                        node1.removeChild(node1.childNodes[0]);
                    }
                </script>

  4. Bom dia Pessoal tranquilos?

    Estou desenvolvendo uma aplicação web em Laravel é basicamente um sistema de escritorio de advocacia e surgiu uma dúvida do cliente se é possível ele gerar o antecedente criminal de alguém já cadastrado no BD. A parte de cadastro da pessoa já esta funcionando perfeitamente, o que geralmente acontece:

     

    -1º O cliente acessa o site:  http://www2.ssp.sp.gov.br/atestado/novo/Atestado02.cfm 

    -2º Ele preenche os dados do formulário do site

    -3 Gera o documento que sai em PDF

    Realizei umas pesquisas sobre API, Web Service e acredito que tenha encontrado a api do serviço de antecedentes crimais aqui (https://www.servicos.gov.br/api/v1/servicos/788) como consigo criar uma maneira de utilizar essa API para gerar um antecedente de um cliente já cadastrado? 

     

    Exemplo:

    O cliente acessa o sistema, vai em uma opção Antecedentes > Escolhe o cliente que ele deseja gerar > E já retorna o PDF gerado

     

    Se alguém puder me ajudar nisso ficarei grato, ou ao menos explicar como eu faria para utilizar essa API com o Laravel.


  5. Bom dia Pessoal,

     

    Estou com um problema que talvez muitos já devem ter passado, eu criei um FormRequest de um cadastro que fiz para validar os campos de anexo que vai para o BD. Incluindo a seguinte regra do name anexo_rg

      return [ 

               'anexo_rg'           => 'mimes:jpeg,png,jpg,pdf|max:2048', 

            ];

     

    O campo não é required, porém ele fica pedindo para inserir um arquivo do tipo que foi criado na regra, ou seja, ele esta forçando um required no anexo, como consigo ignorar quando não possuir anexo?

    OBs: Eu criei um campo hidden para enviar um texto "NÃO POSSUI ANEXO". Antes de eu criar esse FormRequest ele conseguia deixar o anexo vazio, porém não tinha regras e a pessoa conseguia anexar qualquer tipo de arquivo.
     


  6. <?php
     
    namespace App\Http\Controllers\Auth;
     
    use App\User;
    use App\Http\Controllers\Controller;
    use Illuminate\Support\Facades\Hash;
    use Illuminate\Support\Facades\Validator;
    use Illuminate\Foundation\Auth\RegistersUsers;
    use Illuminate\Support\Facades\Auth;
     
    class RegisterController extends Controller
    {
        /*
        |--------------------------------------------------------------------------
        | Register Controller
        |--------------------------------------------------------------------------
        |
        | This controller handles the registration of new users as well as their
        | validation and creation. By default this controller uses a trait to
        | provide this functionality without requiring any additional code.
        |
        */
     
        use RegistersUsers;
     
        /**
         * Where to redirect users after registration.
         *
         * @var string
         */
         protected $redirectTo = '/sistema';
     
        /**
         * Create a new controller instance.
         *
         * @return void
         */
        public function __construct()
        {
     
            
            
            if (Auth::id() == 1){
                
     
                //$this->middleware('auth');
                $this->middleware('auth');
                //return view('register');
     
            }else{
     
                 abort(403);
            }
            
     
        }
     
        
        /**
         * Get a validator for an incoming registration request.
         *
         * @param  array  $data
         * @return \Illuminate\Contracts\Validation\Validator
         */
        protected function validator(array $data)
        {
            return Validator::make($data, [
                'name' => ['required''string''max:255'],
                'email' => ['required''string''email''max:255''unique:users'],
                'password' => ['required''string''min:8''confirmed'],
            ]);
        }
     
        /**
         * Create a new user instance after a valid registration.
         *
         * @param  array  $data
         * @return \App\User
         */
        protected function create(array $data)
        {
            return User::create([
                'name' => $data['name'],
                'email' => $data['email'],
                'password' => Hash::make($data['password']),
            ]);
        }
    }

  7. Bom dia companheiro, obrigado pelo retorno.

     

    Eu tentei da forma que você me passou:

      if (Auth::id() == 1){
                

     

                //$this->middleware('auth');
                return view('register');

     

            }else{

     

                abort(403);
            }
     
    Porém sem sucesso, ele esta negando o acesso até para o meu usuário com ID == 1 que seria de fato a conta que eu quero que logue:
    também tentei apenas o retorno do $this->middleware('auth') e foi o mesmo caso, ele nega acesso até para o meu usuário.

    Estou fazendo essa config no RegisterController

  8. Boa noite pessoal,

     

    Estou desenvolvendo uma aplicação e estou utilizando o método Auth do Laravel 5.8. Aparentemente esta tudo funcionando, acesso a certas áreas solicitam login. Eu gostaria de saber como faço para limitar o acesso de registro de usuários de um modo mais simples, pois andei pesquisando e existe formas de criar uma conta admin, mas para o meu propósito não teria necessidade de tanta complexidade, apenas gostaria de limitar o acesso ao http://localhost:8000/register para uma conta de e-mail especifica, ou mesmo se precisar criar um campo na tabela para validar se existe, não sei direito como fazer isso, estou aprendendo faz pouco tempo a respeito do Laravel.

     

    Exemplo de como esta funcionando minha app:

    http://localhost:8000/sistema === REQUER LOGIN PARA ACESSO

    http://localhost:8000/register == TAMBEM REQUER LOGIN, PORÉM QUALQUER USUÁRIO LOGADO FAZ REGISTRO DE NOVO USUÁRIO PARA ESSA ROTA EU GOSTARIA DE LIMITAR APENAS AO MEU EMAIL OU NOME DE USUÁRIO CADASTRADO.

     

     

     

     

    Obrigado!


  9. Em 30/08/2019 at 16:11, Felipe Guedes Coutinho disse:

    @luizfabri

     

    Fera, desculpa a demorar para responder.

     

    Antes de mais nada, o que você fez foi um POST de resposta em um Tópico, por isso fica complicado de alguém responder, recomendo você a abrir um TÓPICO para a sua pergunta.

     

    Você deve definir a linguagem de programação ou problema relacionado.

     

    Mas caso você voltei aqui para ver se responderam, vou tentar lhe ajudar, mas não responda aqui, crie um Tópico só seu, okay?

     

    Então, vamos lá.

     

    Você tem 2 Banco de Dados para 1 único Sistema? Eu não tenho o costume de pensar em Banco De Dados para registrar funcionalidades, o que eu tenho em mente foi o que comentei com @kelvinferraz, um Banco De Dados e N tabelas para cada funcionalidade.

     

    O que eu recomendo você a fazer é o seguinte, já que você tem LEVEL DE ACESSO, eu recomendo você a mudar essa forma de Gerar Bases de Dados e apenas criar 1 tabela para conteudo, então, você faz na sua programação os SELECT utilizando o LEVEL DE ACESSO de cada usuário.

     

    Exemplo, tabela de Login tem ID do usuário, LOGIN do usuário, SENHA do usuário e o LEVEL de acesso do usuário.

     

    Na sua programação o que tiver o tal do S,A,C você faz os SELECT sem utilizar os ID para acessar a tabela de conteudo, assim trazendo todas as informações, como você precisa que esses 3 não acessem as informações do Coworking, basta além de você colocar na tabela de informação o ID do usuário que inseriu aquele registro, colocar também o LEVEL de acesso, e no select colocar para esses três S,A,C tudo diferente na coluna Level de Acesso de COWORKING, assim não terei acesso as informações do usuário COWORKING que colocou informação na base, e para o COWORKING fica mais fácil, faz o select na base de conteudo onde o ID deve ser igual ao ID do usuário COWORKING logado e o LEVEL igual ao do COWORKING, assim eu só terei acesso as informações desse USUÁRIO que tem LEVEL DE ACESSO COWORING, assim o seu sistema não precisa ficar gerando TABELAS nem BASE DE DADOS para cada usuário, o que fica completamente inviável.

     

    Bom, é isso.

     

    * PRECISO DE AJUDA - Vejá meu problema aqui Problemas com SELECT

     

    Espero ter ajudado.

     

    Att.

    Felipe Coutinho


    Cara exatamente, isso resolveu meu problema, estou utilizando Laravel e esta exatamente como eu precisava, só estou com uma dúvida outra coisa, relacionada a BD que talvez seja o principal problema para eu entender a lógica de como deve ficar aplicação em si.

    Seguinte eu tenho uma tabela produtos, nela ja possuo um user_id que é referenciada ao id da tabela users, porém quando eu cadastro esse produto eu queria poder validar que existe ja um produto cadastrado por exemplo como "nome ja cadastrado", eu estou tentando utilizar o que o Laravel tem disponível para validações como o 'nome_produto' =>  unique:produtos, porém como eu tenho essa situação de possuir vários usuários, eu teria que tentar amarrar outro id para o nome do produto? Porque dessa forma que eu fiz ele esta de fato validando e não deixa cadastrar 2 produtos com mesmo nome, mas como cada usuário tem o seu user_id nas tabelas como me informou, eu não consigo validar no campo só desse usuário, "ou ainda não sei fazer isso no laravel, se souber e puder me ajudar seria 1000!!".

    Abraçoo


  10. 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.

     

     


  11. 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!


  12. 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!
     

     

     


  13. 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


  14. 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.


  15. 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?


     


  16. 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
     


  17. 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.


  18. 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


  19. 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.

×

Informação importante

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