Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 537360
            [titulo] => Delete mysqli
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-11-17 10:30:04
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 358238
            [status] => M
            [isExample] => 
            [NomeUsuario] => Alex William
            [Apelido] => Alekym
            [Foto] => 358238_20140811130830.jpg
            [Conteudo] => Quando o usuário loga, você não faz uma query:
[code]UPDATE tabela_usuario SET status = 'Online' WHERE codigo = 'codigo_usuario'[/code]

É só colocar uma na função que ele desloga, com a query:
[code]UPDATE tabela_usuario SET status = 'Offline' WHERE codigo = 'codigo_usuario[/code]

E se você está usando $_SESSION, destrua a session só depois de executar a query.

Essas queries que eu te passei estão em MySQL, que eu acho que não diferencia de MySQLi.

Espero ter ajudado. ) )

Delete mysqli

Edson Silva
   - 16 nov 2015

olha pessoa tudo bem?
então pessoal estou desenvolvendo um sistema de login, mas estou com um probleminha,
1- meu sistema esta funcionando perfeitamente
2- quando o usuário loga com sua senha e usuário no site automaticamente e feito um update no campo do usuário logado com a seguinte informação Online.
3- assim o administrador pode vê quais o usuário estão online.
4- porem meu problema e na hora que o usuário clica no Button sair, queria que novamente seria feito um update no mesmo campo que ele recebeu o 'Online' troca-lo por Offline.
5- assim o administrador pode vê quais o usuário estão offline
6- enquanto o usuário não clica no Button sair ele sempre estará online.
alguém ai poderia me da uma força?
agradeço desde já!

Post mais votado

Alekym
   - 17 nov 2015

Quando o usuário loga, você não faz uma query:
#Código

UPDATE tabela_usuario SET status = 'Online' WHERE codigo = 'codigo_usuario'


É só colocar uma na função que ele desloga, com a query:
#Código
UPDATE tabela_usuario SET status = 'Offline' WHERE codigo = 'codigo_usuario


E se você está usando $_SESSION, destrua a session só depois de executar a query.

Essas queries que eu te passei estão em MySQL, que eu acho que não diferencia de MySQLi.

Espero ter ajudado.

1
|
0

Marcio Araujo
   - 16 nov 2015

Está utilizando mysqli?

0
|
0

Edson Silva
   - 16 nov 2015

nao amigo, mas se vc estive uma ai com Mysql consigo adaptar com PDO, achei uma aqui porem nao e bom nao

0
|
0

Marcio Araujo
   - 16 nov 2015

Edson, desculpe, li sua questão com mais calma, eu realmente não entendi e não sei como fazer essa atualização nesse com o logado e deslogado.

0
|
1

Edson Silva
   - 18 nov 2015


Citação:
Quando o usuário loga, você não faz uma query:
#Código

UPDATE tabela_usuario SET status = 'Online' WHERE codigo = 'codigo_usuario'


É só colocar uma na função que ele desloga, com a query:
#Código
UPDATE tabela_usuario SET status = 'Offline' WHERE codigo = 'codigo_usuario


E se você está usando $_SESSION, destrua a session só depois de executar a query.

Essas queries que eu te passei estão em MySQL, que eu acho que não diferencia de MySQLi.

Espero ter ajudado.

Entao Alekym, eu tinha feito isso antes porem a query não rodava,
so que fiz de outra maneira, rodando uma query na pagina que ele e redirecionado quando desloga
ai a query verifica se aquele ip existe se existi ele faz o Update no campo, mas so que tem um problema diversos pc sao ips dinamico ai o codigo nap funciona rs, quando ele loga e um ip e pra desloga ja esta outro, fiz uns teste em marquina de ips dinamico, ai ele sempre vai fica logado pro administrador, sendo que ele esta deslogado.

mas é basicamente como vc falou da $_SESSION ainda nao fiz dessa forma destuir depois que ele roda a query.

entao enquanto eu estava escrendo aqui
fui fazer um teste, porem nao conseguir roda a query pra depois desloga.

0
|
0

Alekym
   - 18 nov 2015

Por favor, poderia postar o código do logoff.php, ou a função que você roda ao deslogar para que eu possa ver como você fez.

1
|
0

Edson Silva
   - 18 nov 2015


Citação:
Por favor, poderia postar o código do logoff.php, ou a função que você roda ao deslogar para que eu possa ver como você fez.


esse função sem a query
#Código

if(isset($_REQUEST['sair'])){
session_destroy();
	session_unset($_SESSION['adminerc']);
	session_unset($_SESSION['senhaerc']);
	header("Location: ".$url."login.php");
  }


esse e o codigo com a query:

#Código
if(isset($_REQUEST['sair'])){
$update = "UPDATE tbl_login SET on_off='off' WHERE id=:id";
$result = $conn->prepare($update);
$result->bindParam(':id', $idLogado, PDO::PARAM_INT);
$result->execute();
$contar = $result->rowCount();
if($contar>0){
 //esse e a função que realizar o logoff 	
	session_destroy();
	session_unset($_SESSION['adminerc']);
	session_unset($_SESSION['senhaerc']);
	header("Location: ".$url."login.php");
  }
  
}


nao conseguir quebra as linha aqui por isso ficou uma linha unica me desculpe, pelo transtorno. mas tai!

0
|
0

Alekym
   - 19 nov 2015

Onde tu atribui o valor de $idLogado ?

Poderia usar $_SESSION['idLogado'] sendo essa a variavel session que recebe o codigo do usuario logado, ai a principio estaria certa sua função.

Mas desse jeito, parece que a variavel $idLogado esta vazia, por isso não esta funcionando.

Vê se desse jeito que eu te falei, vai funcionar.

1
|
0

Edson Silva
   - 21 nov 2015

nao deu certo amigo, pois o id nao esta vazio ele e recuperado para aquele usuario que esta logado,
´poderia me mostra uma solução? ou um codigo fonte para mim adapta se for possivel?

0
|
0

Edson Silva
   - 22 nov 2015


Citação:
Onde tu atribui o valor de $idLogado ?

Poderia usar $_SESSION['idLogado'] sendo essa a variavel session que recebe o codigo do usuario logado, ai a principio estaria certa sua função.

Mas desse jeito, parece que a variavel $idLogado esta vazia, por isso não esta funcionando.

Vê se desse jeito que eu te falei, vai funcionar.


Obrigado Alekym, conseguir através de sua opniao, nao foi igual mas tem logica sua ideá...

0
|
0