infonet 1 Denunciar post Postado Julho 6, 2011 Alguém pode me ajudar? TENHO O SEGUINTE CÓDIGO: ------------------------ Eu clico no link que está assim: <a href='excluir.php?servicos=$id' style='padding-top: 0.3em'> <img src='imagens/excluir.png' width='16' height='16' border='0' title='' alt=''></a> ------------------------ excluir.php ------------------------ <?php include ("include/conexao.php"); $sql = "DELETE FROM servicos WHERE id='$id'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar"); echo "O serviço foi excluído com êxito! <script>top.location.href='index2.php';</script>"; ?> ------------------------ MAS NÃO ESTÁ EXCLUINDO... A mensagem que mostra é sempre: "O serviço foi excluído com êxito!" Mas na verdade o registro está sendo visualizado e ao conferiri na tabela SQL... o "danado" do registro continua lá... intacto. A edição eu fiz semproblemas (achei até mais difícil), mas o excluir que é só um pouquinho de "trabalho", tá me fritando "os miolos" (risos) Agradecido! Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Julho 6, 2011 De onde vem a variável $id? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 6, 2011 <?php include ("include/conexao.php"); $id = (int)$_GET['id'];//resgatando a query string $sql = "DELETE FROM servicos WHERE id={$id}";//INT não deve ter aspas envolvendo $resultado = mysql_query( $sql )or die ( mysql_error() ); echo "O serviço foi excluído com êxito! Compartilhar este post Link para o post Compartilhar em outros sites
infonet 1 Denunciar post Postado Julho 6, 2011 A variável $id foi armazenada na coluna id(INT) da tabela SQL "servicos". Obrigado! Não "funfou" Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 6, 2011 rodou o código que sugeri ? qual erro apareceu na tela ? Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Julho 6, 2011 A variável $id foi armazenada na coluna id(INT) da tabela SQL "servicos". Eu perguntei de onde vem a variável. Se não vem de nenhum lugar dentro do seu script é porque você está usando Register Globals e na sua hospedagem ele está desabilitado, sendo assim você pode tentar ativar o Register Globals via .htaccess ou php.ini, mas recomendo que faça o que o William sugeriu, pois Register Globals On é péssimo para segurança e não existirá mais nas próximas versões do PHP. Se você recebe o parâmetro "id" via GET coloque isso antes do $sql: $id = isset($_GET['id']) ? intval($_GET['id']) : 0; Já se estiver usando POST use: $id = isset($_POST['id']) ? intval($_POST['id']) : 0; Compartilhar este post Link para o post Compartilhar em outros sites
infonet 1 Denunciar post Postado Julho 6, 2011 Não "funfou" -------------------------------------- OLHE COMO FUNCIONA: 1- http://francisimoveis.com/caduser/index.php (LOGIN: cesar - SENHA: 123456) 2- Clique em "Serviços" (abaixo do nome de César Augusto) 3- Escolha o menu "Excluir serviço" 4- Clique no ícone da "lixeira" referente ao título que deseja excluir (é aqui o erro, mostra que foi excluído, mas continua lá) 5- Abra a página para ver a listagem de quem está PUBLICADO ou NÃO: http://francisimoveis.com/caduser/listar.php ---------------------------- DE ONDE VEM A VARIÁVEL $id? ---------------------------- // vamos criar a visualização while ($dados = mysql_fetch_array($limite)) { $id = $dados["id"]; $titulo = $dados["titulo"]; $titulo = stripslashes($titulo); // Aqui implementamos um limitador do número de letras a //serem exibidas no último serviço com imagem $limit=89; $titulo = substr($titulo, 0,$limit); echo "<tr style='padding-top: 0.3em'> <td width='89%'>$titulo...</td> <td width='11%' align='center' valign='middle'><a href='excluir.php?servicos=$id' style='padding-top: 0.3em'> <img src='imagens/excluir.png' width='16' height='16' border='0' title='' alt=''></a></td> </tr>"; } O cod do William mostra que "foi excluído". Compartilhar este post Link para o post Compartilhar em outros sites
HemersonSales 0 Denunciar post Postado Julho 6, 2011 Tenta fazer deste jeito: <?php include ("include/conexao.php"); $sql = "DELETE FROM servicos WHERE id='".$id."'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar"); echo "O serviço foi excluído com êxito! <script>top.location.href='index2.php';</script>"; ?> Continua praticamente do mesmo jeito, só muda que invés de '$id', fica '".$id."'. É uma forma de concatenação de strings que sempre coloco nas query. Se a sua variável for numérica só o ".." já basta. Compartilhar este post Link para o post Compartilhar em outros sites
infonet 1 Denunciar post Postado Julho 6, 2011 Obrigado ao leozito e ao wilian Obrigado HemersonSales, mas não "funfou" Mostra êxito, mas continua lá... Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Julho 6, 2011 É pra deixar seu código assim: <?php include ("include/conexao.php"); $id = isset($_GET['id']) ? intval($_GET['id']) : 0; $sql = 'DELETE FROM servicos WHERE id = ' . $id; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar"); echo "O serviço foi excluído com êxito! <script>top.location.href='index2.php';</script>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
infonet 1 Denunciar post Postado Julho 6, 2011 Ainda tá lá Leozitho... Pessoal, eu coloquei um "input do id" dentro do arquivo de exclusão com uma pausa e eu percebi que o id que aparece é sempre "0" (zero)... É por isso que ele não está excluindo nada! Apesar da msg. de "excluído com êxito", ele só tenta excluir um linha de "id" zero... EU ACHO... Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Julho 6, 2011 Você está enviando como POST? Se for mude o $_GET para $_POST. <?php include ("include/conexao.php"); $id = isset($_POST['id']) ? intval($_POST['id']) : 0; $sql = 'DELETE FROM servicos WHERE id = ' . $id; $resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar"); echo "O serviço foi excluído com êxito! <script>top.location.href='index2.php';</script>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
infonet 1 Denunciar post Postado Julho 6, 2011 [RESOLVIDO] Valeu Leozitho, deu certo agora... o $_GET sempre esteve correto! O erro estava no arquivo "exc_servico.php", na minha msg. "Hoje, 17:26" eu havia colocado o "link" que chamava o "exluir.php"... pois é ali que estava o erro o tempo todo... Na 12ª linha onde diz: <td width='11%' align='center' valign='middle'><a href='excluir.php?servicos=$id' style='padding-top: 0.3em'> Na verdade deve ser: <td width='11%' align='center' valign='middle'><a href='excluir.php?id=$id' style='padding-top: 0.3em'> Muito obrigado a todos, verdadeiramente! P.S.: valeu Leozitho [RESOLVIDO] Compartilhar este post Link para o post Compartilhar em outros sites