Jump to content
Sign in to follow this  
guest-user

Como criar sessão individual para cada usuário.

Recommended Posts

Boa tarde,

 

Estou com uma duvida já venho procurando em vários fóruns e na internet já faz muito tempo.

 

Fiz uma Dashboard com o Codeigniter & Bootstrap fiz o sistema de login, tudo certo .. porem gostaria de separar as sessões ou seja tipo.

Quando alguém entrar com seu login e senha abrir a Dashboard sem nenhum valor inserido . Exemplo: cada usuário acessa uma Dashboard individual para cadastrar ou ver coisas individuais .

 

não todos fazerem o login e acessar o mesmo conteúdo da Dashboard.

 

rn2kjzi.png

 

 

Share this post


Link to post
Share on other sites

Pode me dar um exemplo de como fazer isso rsrs

 

Meu Código dos 2 controladores

 

<>

dashboard.php

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Dashboard extends CI_Controller {

    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     * 		http://example.com/index.php/welcome'>http://example.com/index.php/welcome
     * 	- or -  
     * 		http://example.com/index.php/welcome'>http://example.com/index.php/welcome/index
     * 	- or -
     * Since this controller is set as the default controller in 
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see http://codeigniter.com/user_guide/general/urls.html
     */
    public function verificar_sessao() {

        if ($this->session->userdata('logado') == false) {

            redirect('dashboard/login');
        }
    }

    public function index() {
        $this->verificar_sessao();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        $this->load->view('dashboard');
        $this->load->view('includes/html_footer');
    }

    public function login() {

        $this->load->view('includes/html_header');
        $this->load->view('login');
        $this->load->view('includes/html_footer');
    }

    public function logar() {

        $email = $this->input->post('user');
        $senha = $this->input->post('pass');

        $this->db->where('email', $email);
        $this->db->where('senha', $senha);
        $this->db->where('status', 1);
        $data['usuario'] = $this->db->get('usuario')->result();

        if (count($data['usuario']) == 1) {
            $dados['nome'] = $data['usuario'][0]->nome;
            $dados['id'] = $data['usuario'][0]->idUsurio;
            $dados['logado'] = true;
            $this->session->set_userdata($dados);
            redirect('dashboard');
        }
        redirect('dashboard/login');
    }

    public function Logout() {
        $this->session->sess_destroy();
        redirect('dashboard/login');
    }

    

}

<>

usuario.php

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Usuario extends CI_Controller {
    
    public function verificar_sessao() {

        if ($this->session->userdata('logado') == false) {

            redirect('dashboard/login');
        }
    }

    public function index($indice = null) {
        $this->verificar_sessao();
        $this->db->select('*');
        $dados['usuarios'] = $this->db->get('usuario')->result();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        if ($indice == 1) {
            $data['msg'] = "Usuario cadastrado com sucesso.";
            $this->load->view('includes/msg_sucesso', $data);
        } else if ($indice == 2) {
            $data['msg'] = "Não foi possível cadastrar o usuário.";
            $this->load->view('includes/msg_erro', $data);
        } else if ($indice == 3) {
            $data['msg'] = "Usuario excluído com sucesso.";
            $this->load->view('includes/msg_sucesso', $data);
        } else if ($indice == 4) {
            $data['msg'] = "Não foi possível excluir o usuário.";
            $this->load->view('includes/msg_erro', $data);
        } else if ($indice == 5) {
            $data['msg'] = "Usuario atualizado com sucesso.";
            $this->load->view('includes/msg_sucesso', $data);
        } else if ($indice == 6) {
            $data['msg'] = "Não foi possível atualizar o usuário.";
            $this->load->view('includes/msg_erro', $data);
        }
        $this->load->view('listar_usuario', $dados);
        $this->load->view('includes/html_footer');
    }

    public function cadastro() {
        $this->verificar_sessao();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        $this->load->view('cadastro_usuario');
        $this->load->view('includes/html_footer');
    }

    public function cadastrar() {
        $this->verificar_sessao();
        $data['nome'] = $this->input->post('nome');
        $data['telefone'] = $this->input->post('telefone');
        $data['nome'] = $this->input->post('nome');
        $data['facebook'] = $this->input->post('facebook');
        $data['email'] = $this->input->post('email');
        $data['senha'] = $this->input->post('senha');
        $data['status'] = $this->input->post('status');
        $data['nivel'] = $this->input->post('nivel');

        if ($this->db->insert('usuario', $data)) {
            redirect('usuario/1');
        } else {
            redirect('usuario/2');
        }
    }

    public function excluir($id = null) {
        $this->verificar_sessao();
        $this->db->where('idUsuario', $id);
        if ($this->db->delete('usuario')) {
            redirect('usuario/3');
        } else {
            redirect('usuario/4');
        }
    }

    public function atualizar($id = null, $indice = null) {
        $this->verificar_sessao();
        $this->db->where('idUsuario', $id);
        $data['usuario'] = $this->db->get('usuario')->result();

        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        if ($indice == 1) {
            $data['msg'] = "Senha atualizada com sucesso.";
            $this->load->view('includes/msg_sucesso', $data);
        } else if ($indice == 2) {
            $data['msg'] = "Não foi possível atualizar a senha do usuário.";
            $this->load->view('includes/msg_erro', $data);
        }
        $this->load->view('editar_usuario', $data);
        $this->load->view('includes/html_footer');
    }

    public function salvar_atualizacao() {
        $this->verificar_sessao();
        $id = $this->input->post('idUsuario');

        $data['nome'] = $this->input->post('nome');
        $data['telefone'] = $this->input->post('telefone');
        $data['facebook'] = $this->input->post('facebook');
        $data['email'] = $this->input->post('email');
        $data['status'] = $this->input->post('status');
        $data['nivel'] = $this->input->post('nivel');

        $this->db->where('idUsuario', $id);
        if ($this->db->update('usuario', $data)) {
            redirect('usuario/5');
        } else {
            redirect('usuario/6');
        }
    }

    public function salvar_senha() {
        $this->verificar_sessao();
        $id = $this->input->post('idUsuario');

        $senha_antiga = md5($this->input->post('senha_antiga'));
        $senha_nova = md5($this->input->post('senha_nova'));

        $this->db->select('senha');
        $this->db->where('idUsuario', $id);
        $data['senha'] = $this->db->get('usuario')->result();
        $dados['senha'] = $senha_nova;


        if ($data['senha'][0]->senha == $senha_antiga) {
            $this->db->where('idUsuario', $id);
            $this->db->update('usuario', $dados);
            redirect('usuario/atualizar/' . $id . '/1');
        } else {
            redirect('usuario/atualizar/' . $id . '/2');
        }
    }

    public function sms() {
    $this->verificar_sessao();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        $this->load->view('sms_tools');
        $this->load->view('includes/html_footer');
    }

    public function email() {
        $this->verificar_sessao();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        $this->load->view('email_spoof');
        $this->load->view('includes/html_footer');
    }

    public function checkemei() {
        $this->verificar_sessao();
        $this->load->view('includes/html_header');
        $this->load->view('includes/menu');
        $this->load->view('check_emei');
        $this->load->view('includes/html_footer');
    }

}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

Share this post


Link to post
Share on other sites

Basta que, no ato do cadastro, você insira sempre o ID do usuário em questão. Na hora do login a mesma forma, pegue os dados referentes apenas aquele login

  • +1 1

Share this post


Link to post
Share on other sites

Ok, isso vai gerar gerar uma dashboard diferente p/ cada usuario ? exemplo se eu colocar "OI" na dashboard no meu login nos outros vão aparecer esse "OI" ?

Basta que, no ato do cadastro, você insira sempre o ID do usuário em questão. Na hora do login a mesma forma, pegue os dados referentes apenas aquele login

Share this post


Link to post
Share on other sites

Não. Basta você vincular o OI apenas ao ID de quem o postou... Entendeu ? você, no ato do login, pegará ID desse usuário e armazenará numa sessão. Ao fazer os selects e os inserts, você irá sempre passar o ID. Se for insert, você insere junto a ele o ID do usuário em questão. Na hora do select você vincula sempre ao ID do usuário logado.

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
Sign in to follow this  

  • Similar Content

    • By EvertonFD
      Olá alguém pode me ajudar?
      estou tentando pegar valores do check box selecionado e por no banco de dados a questão é que:
      Quando eu faço uma seleção vai de boa quando seleciono mais de uma fica tudo em branco.
      estou usando esse codigo:
      <?php if(isset($_POST['submit'])){ if(!empty($_POST['checkArr'])){ foreach($_POST['checkArr'] as $checked){ echo $checked . '<br>'; } } else { echo '<div class="error">Checkbox is not selected!</div>'; } } ?> <div class=" form-row"> <div class="col-md-4 text-left"> <div class="form-check col-md-12"> <input class="form-check-input" type="checkbox" name="checkArr[]" value="Iluminação Publica"> <label class="form-check-label" for="gridCheck"> Iluminação Publica </label> </div> <div class="form-check col-md-12"> <input class="form-check-input" type="checkbox" name="checkArr[]" value="Saneamento Basíco"> <label class="form-check-label" for="gridCheck"> Saneamento Basíco </label> </div> <div class="form-check col-md-12"> <input class="form-check-input" type="checkbox" name="checkArr[]" value="Alamentos"> <label class="form-check-label" for="gridCheck"> Alagamentos </label> </div> //que vai para o insert: <?php session_start(); include_once("../conexao.php"); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $tel = filter_input(INPUT_POST, 'telefone', FILTER_SANITIZE_STRING); $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_STRING); $end = filter_input(INPUT_POST, 'end', FILTER_SANITIZE_STRING); //--------------------------------- $problema = filter_input(INPUT_POST, 'checkArr[]', FILTER_SANITIZE_STRING); $observacao = filter_input(INPUT_POST, 'observacao', FILTER_SANITIZE_STRING); //--------------------------------- //$resposta = filter_input(INPUT_POST, 'resposta', FILTER_SANITIZE_STRING); $result_usuario = "INSERT INTO itaim ( nome, email, telefone, bairro, rua_cep, problemas, detalhes, created) VALUES ('$nome', '$email' , '$tel' , '$bairro' , '$end' , '$problema' , '$observacao' , NOW())"; $resultado_usuario = mysqli_query($conn, $result_usuario); if(mysqli_insert_id($conn)){ $_SESSION['msg'] = "<p style='color:green;'>Menssagem envida</p>"; header("Location: ../index.php"); }else{ header("Location: ../index.php"); //$_SESSION['msg'] = "<p style='color:red;'>Houve um errono envio favor informar.</p>"; } Quem puder me ajudar agradeço muito
       
    • By juliosertori
      Amigos, estou utilizando um sistema de FormValidation, e vem pronta algumas coisas, mas estou com dúvida:
       
      Como pego os dados desse POST no PHP?
       
      FormValidation.utils.fetch(formSubmitUrl, { method: 'POST', dataType: 'json', params: { name: form.querySelector('[name="username"]').value, email: form.querySelector('[name="password"]').value, }, }) Obrigado!
    • By msergioaguiar
      boa noite a todos

      hoje um cliente me procurou querendo um sistema.
      ele Trabalha com aposta esportiva ele quer um sistema q quando ele fazer a aposta na conta dele esta aposta seja feita em varios outros usuarios q esta logados em pcs na intarnet.

      Gostaria de uma ajuda como vou fazer isso mais gostei muito do projeto

      desde ja fico muito grato a todos pela ajuda
    • By Usleydocarmo
      Estou com o seguinte erro:
      Ao acessar o meu site na pagina principal tudo ok. Porém quando acesso em um menu que vai carregar um arquivo que está em uma pasta e não na pasta raiz, ai o arquivo css não é carregado.
       
      <a href="usuarios"> home</a> chamo o arquivo funcionarios na mesma pasta onde está o arquivo index.php -funciona
      <a href="usuarios/usuarios"> home</a>  Pasta 'usuarios' e dentro dela chamo o arquivo 'usuarios' - ai não funciona
       
      Descobri que quando entro na pasta usuários fica assim, com a basta no diretório do arquivo. Como corrigir?
      <link rel="stylesheet" href="http://localhost/keiri/admin/usuarios/plugins/fontawesome-free/css/all.min.css&nbsp;">
       
      Meu htaccess
      RewriteRule ^([a-z]+)\/?$ dashboard.php?arquivo=$1 [NC,L]
      RewriteRule ^([a-z]+)\/([a-z]+)$ dashboard.php?pasta=$1&arquivo=$2 [NC,L]
      RewriteRule ^([a-z]+)\/([a-z]+)\/([0-9]+)$ dashboard.php?pasta=$1&arquivo=$2&item=$3 [NC,L]
    • By msantino
      Bom dia.
       
      Estou desenvolvendo uma aplicação que vai acessar e gravar dados via webservice dentro do nosso crm... mas estou com um problema que quando tento fazer o acesso mostra a seguinte mensagem de erro:
       
      Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'http://dsksp015.phonoway.com.br:8051/wsDataServer/mex?xsd=xsd0' in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php:113 Stack trace: #0 /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php(113): SoapClient->SoapClient('http://187.93.2...') #1 {main} thrown in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php on line 113
       
      Não sei se faz alguma diferença, mas nosso CRM é o TOTVS RM
       
      Grato.
×

Important Information

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