Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Preciso excluir todas as fotos cadastradas em um anúncio, preciso que seja removido da tabela FOTOS e também que as fotos sejam removidas do diretório fotos.
Já tentei bastante, mas não está dando certo, li inclusive vários tópicos criados por outros usuários com este mesmo assunto, mas não consiguir resolver.
A tabela é assim:
id_foto | id_anuncio | foto | comentario
parte que exclui deveria excluir a foto
<?
function deletarArquivo($arquivo)
{
unlink("$arquivo");
}
$sqlexcluirtodas = mysql_query("SELECT * FROM fotos WHERE id_anuncio = '$_GET[id_anuncio]'", $banco1) or die(mysql_error());
$linhaexcluirtodas = mysql_fetch_array($sqlexcluirtodas);
$arquivofoto = $linhaexcluirtodas["foto"];
$idfoto = $linhaexcluirtodas["id_foto"];
if($_GET['excluirtodas'] != ""){
mysql_query("UPDATE anuncios SET icone= 'padrao.jpg', id_session = '$_SESSION[id_user]' WHERE id_anuncio= '$_GET[id_anuncio]'", $banco1);
mysql_query("DELETE FROM fotos WHERE id_anuncio= '$_GET[id_anuncio]'", $banco1);
deletarArquivo("../../fotos/".$_REQUEST["arquivofoto"]);
deletarArquivo("../../fotos/thumb_".$_REQUEST["arquivofoto"]);
}
?>
Botão/Link que executa excluirtodas
<a href="javascript: if(confirm('DESEJA REALMENTE EXCLUIR TODAS AS FOTOS???'))window.location= 'editar_anuncio.php?excluirtodas=id_anuncio =<? echo $_GET['id_anuncio'];?>';">EXCLUIR TODAS AS FOTOS</a>
Me ajudem por favor...
se puderem pelo menos apontar onde estou errando ficaria muito grata!
>
Eu não entendi... O que acontece?
O registro do banco é apagado, mas as fotos não?
Nada é apagado?
A foto é apagada, mas o registro não?
Obrigada pela intenção em ajudar! :thumbsup:
A foto não estava sendo removida do diretório, mas já consegui resolver.
MalCriada... da forma que as variáveis estão interagindo com seu código, há sérios problemas de segurança.
Recomendo que procures por Sql Injection.
Outro ponto importante é que não há ( ou o código postado está incompleto ) um algoritmo que bloqueie requisições indevidas. Leve como o exemplo alguém que acesse o endereço de exclusão do registro diretamente pelo navegador: Se não houver um filtro das requisições, qualquer usuário poderá deletar qualquer registro.
Eu não entendi... O que acontece?
O registro do banco é apagado, mas as fotos não?
Nada é apagado?
A foto é apagada, mas o registro não?