Ir para conteúdo

POWERED BY:

Arquivado

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

tiip

quebrar sessão de usuário específico

Recommended Posts

Fala galera, de boas?

Tenho um sistema de login em um painel, e dentro dele, tem uma área para gestão dos usuários.

Eu queria que por exemplo, quando um usuário fosse excluído, esse mesmo quebrasse a sessão.

Porque atualmente, quando deleta o usuário, ele continua logado e fazendo o que quiser.

 

login.php

<?php
require 'funcoes/banco/conexao.php';
ob_start(); session_start();
if(isset($_SESSION['administrador']) && !empty($_SESSION['administrador'])){
  header("Location: index.php");
}
?>
ajax/controller.php

Linha 15 (Se o login e senha estiverem certos) - $_SESSION['administrador'] = pegaLogin($login);
funcoes/login/login.php (pegaLogin($login))

function pegaLogin($login){
    $pdo = conecta();
    try{
        $bylogin = $pdo->prepare("SELECT * FROM administrador WHERE administrador_usuario = ?");
        $bylogin->bindValue(1, $login, PDO::PARAM_STR);
        $bylogin->execute();
        
        if ($bylogin->rowCount() == 1) :
            return $bylogin->fetch(PDO::FETCH_OBJ);
        else :
            return FALSE;
        endif;
    }catch(PDOException $e){
        echo $e->getMessage();
    }
}
Essa é minha função de deletar um usuário:

funcoes/crud/crud.php

function deletaMembro($id){
       $pdo = conecta();
    try{
        $deletaMembro = $pdo->prepare("DELETE FROM administrador WHERE administrador_id = ?");
        $deletaMembro->bindValue(1, $id, PDO::PARAM_INT);
        $deletaMembro->execute();
        
        if ($deletaMembro->rowCount() == 1) :
            logMsg("Um usuário foi excluido", "aviso", "true");
            return TRUE;
        else :
            return FALSE;
        endif;
    }catch(PDOException $e){
        echo $e->getMessage();
    }
}
paginas/logout.php (Acho que seria necessário para vocês visualizarem o session_destroy)

<?php
if (basename($_SERVER['SCRIPT_NAME']) == basename(__FILE__)) {
    header("Location: ../index.php");
die();
}
session_destroy();
header("Location: login.php");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meio mais simples seria verificar se o usuário a qual está ligada a sessão existe no BD, caso não exista, direciona para a página de logoff...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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