Ir para conteúdo

POWERED BY:

Arquivado

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

Evandro.S Eisinger

[Resolvido] Problema com Excluir dados

Recommended Posts

Oi Pessoal estou com uma dificuldade no código de exclusao de itens na BD.

Com o código que eu fiz ele somente deleta os dados da BD e tb era para excluir a foto que possui o nome na parte imagem.

 

Seguinte, na minha tabela eu tenho o campo imagem que é onde tenho todos os nomes das imagem que possuo cadastradas.

O problema é para excluir as informações na BD e tb a foto do servidor.

Tentei fazer assim:

 

OBS: o nome que esta na imagem é o mesmo que e o da foto. incluindo o .jpg

OBS2: Todas as fotos estao gravadas na parte inicial.

 

include("conexao.php");
$id=$_GET["id"];
$imagem=$_GET["imagem"];
mysql_query("delete from tb_ticker WHERE id='$id';");
unlink("./".$imagem);
header("location:gera_ticker.php");

e ocorre este erro:

 

Warning: unlink(./): Is a directory in /home/evandrow/public_html/sitephp/excluir_ticker.php on line 6 Warning: Cannot modify header information - headers already sent by (output started at /home/evandrow/public_html/sitephp/excluir_ticker.php:6) in /home/evandrow/public_html/sitephp/excluir_ticker.php on line 7

 

Se alguem poder me ajudar fico muito grato!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a imagem que você está tentando excluir está na mesma pasta que está sendo rodado o script? se não tem que por o caminho da imagem tb!

 

 

eu prefiro fazer os redirecionamentos usando java script:

 

$script = '<script type="text/javascript">';

$script .= 'document.location.href=\'gera_ticker.php\';';

$script .= '</script>';

 

echo $script;

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que vejo no seu script você está deletando o caminho do db primeiro e depois da pasta.

 

 

até onde eu saiba você deve primeiro deletar da pasta e depois do db . tenta ai e não der posta!

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade, a variavel $imagem esta vazia...

é por isso que quando ele tenta contatenar "./".$imagem, ele acaba retornando somente ./

unlink(./) <== viu?! heheh

Abraços

 

PS: A mensagem naum é pq a imagem ja foi excluida, nem é pq esta na mesma pagina q ta rodando o script...

a mensagem de erro é bem clara: Is a directory <= usem a ferramenta de linguagem do Google pra traduzir oq vcs naum entenderem ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar unlink() diretamente no arquivo pra ver se da certo, tipow:

unlink("./imagem.jpg");

se der certo, tente passar o nome do arquivo diretamente para a variavel $imagem...

$imagem="imagem.jpg";
unlink("./".$imagem);

se funcionar é pq você naum esta enviando a variavel "imagem" pelo metodo GET...

 

faça estes testes e coloque os resultados aqui (inclusive as mensagens de erro q aparecer em cada erro)

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Dorian!

 

Seguinte, fiz oque você disse e funcionou, mas acho que estou mesmo com problema de enviar a variavel, no meu listar imagem etcc... ta assim:

 

<?php

include("conexao.php");

$pesquisa = mysql_query("SELECT * FROM tb_ticker order by id asc");

while($exibir=mysql_fetch_array($pesquisa)){?>

<tr>

<td bgcolor="#2581AD"><span class="style17"><? echo $exibir['titulo']?></span></td>

<td bgcolor="#2581AD"><span class="style17"><? echo $exibir['texto']?></span></td>

<td bgcolor="#2581AD"><span class="style17"><? echo $exibir['link']?></span></td>

<td bgcolor="#2581AD"><img src="./<?=$exibir['id']?>.jpg" width="100"/></td>

<td bgcolor="#2581AD"><a href="excluir_ticker.php?id=<?=$exibir["id"]?>

"onClick="return verifica('<?=$exibir["titulo"]?>')">

<img src="botao_excluir.gif" border="0"/></a></td></tr>

<?

}

?>

 

Como eu faria para enviar o nome da imagem, eu tentei de um modo mas nao funcionou.

 

Obrigado pela ajuda!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo q eu percebi, você tem a localização da foto somente no DB...

entao você naum tem q passar a variavel $imagem via GET, você tem q puxar a localização dela da tabela antes de realizar a exclusao do registro...

 

me diz o nome e os campos da tabela "tb_ticker"...

assim nos podemos lhe informar como fazer as mudanças...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você armazenar o caminha relativo na tabela (naum a URL inteira como alguns fazem), essa é a possivel solução:

$id=$_GET["id"];
$imagem = mysql_result(mysql_query("SELECT imagem FROM tb_tickers WHERE id='$id'"),0);
mysql_query("DELETE FROM tb_ticker WHERE id='$id';");
unlink("./".$imagem);
header("location:gera_ticker.php");

Abraços... t+

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.