Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Problema ao deletar registro do banco de dados MySQL

19-11-2014 18:26

1 - Tenho na minha base de dados mysql a tabela [utilizadores] com id_utilizador , nome_utilizador , etc ;

2 - Depois no ficheiro ver_utilizador.php tenho o seguinte (excluí aqui a ligação a base dados e mais algum código para não confundir a leitura...):

$ver ="SELECT * FROM utilizadores ORDER BY nome_utilizador ASC "; $consulta= mysql_query($ver);  if($consulta !=0) while($mostrar= mysql_fetch_array($consulta) ) { $id = $mostrar['id_utilizador']; $nome = $mostrar['nome_utilizador'];  echo'<table width="400px"> <tr>     <td width="5">'.$id.'</td> <td width="70">'.$nome.'</td> <td><a onclick="return confirm( \'PRETENDE APAGAR ESTE REGISTO ?\') " href="processar_eliminar_utilizador.php?id_utilizador=$id"><img src="imagens/apagar.png"/></a></td>


Agora no ficheiro processar_eliminar_utilizador.php fiz o seguinte...:

$apagar = "DELETE FROM utilizadores WHERE id_utilizador = '".$_GET['$id']."'   "; $resultado = mysql_query($apagar);

onde estou a errar para nao conseguir apagar o utilizador que corresponde ao id ????

TÍTULO MELHORADO
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao deletar registro do banco de dados MySQL

19-11-2014 18:39

Você está passando pelo link o seguinte id_utilizador

Sendo assim deve usar

$apagar = "DELETE FROM utilizadores WHERE id_utilizador = '".$_GET['id_utilizador']."'   ";

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Problema ao deletar registro do banco de dados MySQL

19-11-2014 21:17

ok, muito obrigado.....ja alterei o ficheiro processar_eliminar_utilizador.php :

<?php require'ligacaoBD.php'; $apagar = "DELETE FROM utilizadores WHERE id_utilizador = '".$_GET['id_utilizador']."'   "; $resultado = mysql_query($apagar); header('LOCATION:ver_utilizador.php'); exit(); ?>

mas mesmo assim , nao consigo apagar nada....e o ficheiro ver_utilizador esta assim... :

...

include'ligacaoBD.php'; $ver ="SELECT * FROM utilizadores ORDER BY nome_utilizador ASC "; $consulta= mysql_query($ver);  if($consulta !=0) {          while($mostrar= mysql_fetch_array($consulta) )     {     $id = $mostrar['id_utilizador'];     $nome = $mostrar['nome_utilizador'];     $senha = $mostrar['palavra_chave'];     $email = $mostrar['email'];                    echo'<table width="400px"> <tr>     <td width="5">'.$id.'</td>     <td width="70">'.$nome.'</td>     <td width="50">'.$senha.'</td>     <td width="90">'.$email.'</td>              <td><a onclick="return confirm( \'PRETENDE APAGAR ESTE REGISTO ?\') " href="processar_eliminar_utilizador.php?id_utilizador=$id"><img src="imagens/apagar.png"/></a></td>           </tr> </table>';          } } else {     echo"<script>          alert('Não há utilizadores ainda registados');     location.href='registar_utilizador.php';          </script>"; } mysql_free_result($consulta);

falta-me aqui alguma coisa??? ja revi o codigo e nao parece faltar nada....... :(
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao deletar registro do banco de dados MySQL

19-11-2014 21:27

Tenta usar o id dessa forma

<a onclick="return confirm( \'PRETENDE APAGAR ESTE REGISTO ?\') " href="processar_eliminar_utilizador.php?id_utilizador='.$id.'">

Passa o cursor sobre o link, e verifica se realmente está passando o id pelo link.

Tenta também rodar a query direto.

mysql_query("DELETE FROM utilizadores WHERE id_utilizador = '".$_GET['id_utilizador']."'");

Verifica também o nome da tabela e coluna se estão corretos. Tenta usar o valor fixo no lugar do enviado pelo GET.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Problema ao deletar registro do banco de dados MySQL

19-11-2014 21:35

impecavel , ja funciona, muito obrigado pela sua ajuda :) , valeu !!!!!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao deletar registro do banco de dados MySQL

19-11-2014 21:45

Uma boa idéia é proteger esse seu script. Colocar um script de anti-injection e senha para que ninguém delete os dados sem sua autorização.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 198
Sexo: Masculino

Problema ao deletar registro do banco de dados MySQL

20-11-2014 10:48

Um script anti-injection ? como assim?

deste jeito? : <td><a onclick="return confirm( \'PRETENDE APAGAR ESTE REGISTO ?\') " href="processar_eliminar_utilizador.php?id_utilizador= MD5($id") ><img src="imagens/apagar.png"/></a></td>

OBS : afastei o codigo para uma melhor visualização!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao deletar registro do banco de dados MySQL  #resolvido

20-11-2014 10:56

Um script anti-injection visa proteger os dados que são enviados por link e por formulário.
script anti-injection Script-de-anti-injection-MySQL_19_5715.html

Veja nesse vídeo
Já a proteção com login e senha vai impedir que alguém faça algo como

?id_utilizador=1
?id_utilizador=2....

E acabe deletando todos os dados do seu banco de dados.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado