Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Peixoto

[Resolvido] UPDATE usuarios em php

Recommended Posts

Pessoal criei e listei meus usuarios numa página chamada administrar_usuarios.php, neste pagina tem um laço While para que todos sejam listados individualmente contendo em cada linha o nome, email, status, e categoria do usuário, porém eu criei um botão "Banir usuário" que tem um <a ref> para outra pégina chamada "banir.php" que contem a seguinte função:

 

<?

include "config.php";

 

// Atualize da tabela Usuários definindo para o valor SIM o campo BANIDO onde o valor BANIDO esteja como NÂO e o nivel de usuário seja diferente de 2 (administrador)

 

$sql = "UPDATE usuarios SET banido = 's' WHERE

banido ='n' AND nivel_usuario != '2'";

 

 

$result = mysql_query($sql);

 

// Verifica se o comando foi executado com sucesso

if(!$result)

 

die("Falha ao executar o comando: " . mysql_error());

 

else

 

header ("Location: administrar_usuarios.php");

 

?>

 

 

.... Até ai tudo bem, quando clico em banir funciona, porém BANE todos da lista menos os adms como a imagem abaixo vejam:

 

 

kakbap.png

 

Como faço para banir apenas o que eu quero banir ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não especificou usuário para banir

$sql = "UPDATE usuarios SET banido = 's' WHERE 
banido ='n' AND nivel_usuario != '2'"; 

 

passa no seu < a href> o id do usuário que quer banir

Compartilhar este post


Link para o post
Compartilhar em outros sites

é exatamente o que o victor postou

 

O seu WHERE tem duas condições desnecessárias e não tem o id que deveria ser o parâmetro a estar lá

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas é que quando eu defino no update qual usuario não adianta, como que eu faço?

 

meu <a href> é o seguinte:

 

While (.....

 

1dyrs1.png

 

 

como que tenho que colocar ?

 

ops foi mal é que tem 2 a href o de banir e desbanir.

 

Como que eu coloco, me ajudem por favor *_* escrevam a sintaxe correta please.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Victor você é um gênio, é por isso que amo o pessoal do imasters, aprendi tudo com vcs,

 

Brigadão cara não sei como agradecer, que Deus te ilumine cada vez mais com mais inteligência.

 

Abraçossssss !!!! :):):):):)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
include "config.php";

// Atualize da tabela Usuários definindo para o valor SIM o campo BANIDO onde o valor BANIDO esteja como NÂO e o nivel de usuário seja diferente de 2 (administrador)

$sql = "UPDATE usuarios SET banido = 's' WHERE
banido ='n' AND nivel_usuario != '2'";


$result = mysql_query($sql);

// Verifica se o comando foi executado com sucesso
if(!$result)

die("Falha ao executar o comando: " . mysql_error());

else

header ("Location: administrar_usuarios.php");

?>

 

Esta sua funcao sql coloca como banido todos os usuarios do Sistema, menos administradores.

 

tenta assim

no link para banir voce coloca o id do usuario por exemplo.. banir.php?id=$resultado[id]

no link para desbanir a mesma coisa, por exemplo desbanir.php?id=$resultado[id]

 

e no sql do banir/desbanir você poe.

#Buscar id que veio pelo url = evitar sqlinjection
$id = mysql_real_escape_string($_GET['id']);

$sql = "UPDATE usuarios SET banido = 's' WHERE
id = '$id' ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, tava crente que ia dar certo mas ocorre o seguinte erro ao clicar no "Banir":

 

Falha ao executar o comando: Unknown column 'id' in 'where clause'

 

fiz das duas maneiras mas não deu certo.

 

 

 

include "config.php";

 

$id = $_GET['id']";

 

 

$sql = "UPDATE usuarios SET banido = 'n' WHERE

banido ='s' AND usuario_id='$id'";

 

...

 

o que pode ser ?

 

Ok obrigado willian e victor juntei as duas ideias e deu Certo, Deus abençoe os 2

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.