Ir ao conteúdo

Posts recomendados

Postado

Segue aqui meu código abaixo, o que ocorre é o seguinte, quando o usuário logar ele vai para a página de chat, quando ele vai para essa página é feito um update no banco de dados para status = 1 esse status igual a 1 é a minha condição para exibição na página usuários para então que o técnico da T.I escolha quem atender, todas que estão com status = 1 vão estar visíveis lá. Porém ao usuário clicar no botão sair na página de chat, quero que faça o update no banco de dados com status = 0 novamente, para então na página de usuários a ser atendido ele vai sair, vou colocar um refresh a cada 60s nessa página para ela atualizá-la. --

--CÓDIGO DO TRECHO DA PÁGINA CHAT ONDE TEM O BOTÃO SAIR---
<>    

<body>
        <div class="contact1">
            
            
            
            <div class="fundo_chat">
                <div class="janela_chat">
               
                </div>
               
                <form action="chat.php" method="post"  class="form-chat">  
                    <input type="text" name="mensagem" id="mensagem" placeholder="Mensagem">
                    <tr>
                        
                    <button class="btn btn-primary" type="submit" id="botao-enviar">Enviar</button>
            
                        <a class="btn btn-primary" href="logout.php" role="button" id="botao-sair">Sair</a>
                    </form>
                
            
        </div>
        </div>
    
    </body>
</html>

<>

--CÓDIGO ONDE É FEITO A VALIDAÇÃO DE LOGIN, REDIRECIONA PARA A PÁGINA DE USUÁRIOS QUEM É DA T.I, OS RESTANTES DE OUTROS SETORES VÃO DIRETO PARA A CHAT ONDE AGUARDA ATENDIMENTO E AO SER REDIRECIONADO MUDA STATUS PARA =1, ESTÁ MUDANDO PARA 1 PERFEITAMENTE.--

<>

<?php

session_start();
header('Content-Type: text/html; charset=utf-8');
include("conexao.php");

if(empty($_POST['nome']) || empty($_POST['senha'])){
    header('location:index.html');
    exit();
}

$nome = mysqli_real_escape_string($conn, $_POST['nome']);
$senha = mysqli_real_escape_string($conn, $_POST['senha']);

$query = "select * from usuarios where nome = '$nome' and senha = '$senha'";
$setor = "SELECT setor FROM usuarios";

$result = mysqli_query($conn, $query);
$row = mysqli_num_rows($result);

if($row == 1){
    $_SESSION['nome'] = $nome && $_SESSION['senha'] = $senha;
    
  
    
    while ($verifica_setor = mysqli_fetch_array($result)) {

            $setor = $verifica_setor['setor'];
            if ($setor == "Tecnologia da Informação") {
                header('location: usuarios.php');
            }else{
                mysqli_query($conn, "UPDATE usuarios set status = '1' WHERE nome = '$nome'");
            
                
                header('location: chat.php');
            }
        
    }
}
else {
    echo "<script>alert('USUÁRIO NÃO CADASTRADO OU DADOS INVÁLIDOS!');</script>";
    echo "<script>window.location='index.html';</script>";
    exit();
}
?>

<>



--AQUI É O MEU LOGOUT, ONDE EU INICIO A PARAMETRO SESSION PARA PEGAR O VALOR GLOBAL DELA QUE TINHA QUE SER O NOME PARA BUSCAR NA TABELA, FIZ UM OR DIE PARA TESTAR O QUERY E UM ECHO PARA VER O QUE ESTAVA SENDO EXIBIDO, E O QUE EXIBE NO ECHO É O VALOR = 1, POR ISSO A QUERY NAO FUNCIONA DO JEITO CERTO--

<>

<?php
include("conexao.php");

session_start();

echo $_SESSION['nome'];

mysqli_query($conn, "UPDATE usuarios SET status = '0' WHERE nome = '$nome'") or die ("PARAMETROS NAO ALTERADO");

/*
session_destroy();
header('location:index.html');
exit();*/
?>

<>

 

  • Moderador
Postado

@Marcus_Sapeka Onde está o erro exatamente? qual a dúvida? 

Você explicou o que queria fazer, postou código, mas não disse o que está acontecendo... se é erro, ou se não sabe fazer.... 

e a propósito, quanto ao código, peço a gentileza que poste usando o botão code que tem no editor.

Postado
15 minutos atrás, DiF disse:

@Marcus_Sapeka Onde está o erro exatamente? qual a dúvida? 

Você explicou o que queria fazer, postou código, mas não disse o que está acontecendo... se é erro, ou se não sabe fazer.... 

e a propósito, quanto ao código, peço a gentileza que poste usando o botão code que tem no editor.

Na página logout o echo da session retorna o valor 1 e eu não sei onde estou errando

  • Moderador
Postado

@Marcus_Sapeka Acredito que você esteja fazendo isso de forma equívoca.

Basicamente o login é melhor se você se basear no valor ID do registro e não no nome.

 

Quando efetua o login, você insere o valor ID do registro na session e usa ela para tudo. Porque digo isso?, Simples, podem existir centenas de pessoas com nomes iguais, mas o valor ID do registro é sempre único, ou seja, é uma PK da tabela.

Ademais, no momento do logout, você precisa destruir a sessão.

 

Leia este post, na qual eu explico com detalhes um sistema de login com níveis de acesso, mas você pode adapta-lo para seu projeto.

 

Ali no código há duas partes, uma que valida e outra que fica nas páginas restritas, ou seja, aquelas que serão mostradas depois de efetuar o login. 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!