Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) remove da tabela


betolima

Pergunta

Estou conseguindo deletar o registro do banco, mas não apaga as imagens das pastas...

também tentei colocar uma confirmação quando pressionado o deletar, mas mesmo cancelando a confirmação ele apaga.

listar.php

<?php
$con = mysql_connect('localhost','root','')or die(mysql_error());
mysql_select_db('banco',$con);
$_nome_album = $_REQUEST["album"];
$fotos = mysql_query("SELECT * FROM galeria WHERE album =$_nome_album order by id desc")or die(mysql_error());

$pasta_dir = "../../images/fotos/small/";
$k = 0;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
    function envioForm(tipo,num)
    {
        var formulario = document.getElementsByName("alteracao"+num)[0];
        if(tipo == 1)
        {
            formulario.action = "alterar.php?album=<?php echo $_nome_album;?>";
        }
        else
        {
            //confirm ('Apagar imagem?');
            formulario.action = "excluir.php?album=<?php echo $_nome_album;?>";
        }
        formulario.method = "post";
        formulario.submit();
    }
</script>
<script type="text/javascript">
<!--
function capa_album(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<style type="text/css">
.descr {
    border:1px solid #333;
}
.textos {
    font-size:12px;
    font-family:Arial, Helvetica, sans-serif;
}
.combo {
    font-size:12px;
    width:146px;
}
.botao {
    font-size:15px;
    background-color:#ccc;
    border:1px solid #333;
}
</style>
</head>
<body bgcolor="#efefeb">
<?php
echo "<table align=\"center\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"600px\"><tr>";
while($ver = mysql_fetch_array($fotos)){
$id         = $ver["id"];
$pequena     = $ver["pequena"];
$descricao     = $ver["descricao"];
$grande     = $ver["grande"];

    $k ++;
    echo "<td align=\"center\">
    <form name=\"alteracao$k\" method=\"POST\">
        <table>
        <tr>    
    <td align=\"left\"><img src=\"../../images/fotos/small/$pequena\" border=\"1\" title=\"$pequena\"></a></td>
    <tr><td align=\"left\" class=\"textos\">
        <input name=\"id\" type=\"hidden\" value=\"$id\" />Descrição da Foto
        <input name=\"descricao\" type=\"text\" id=\"textfield\" value=\"$descricao\" class=\"descr\">
        <br>
        <form>
          <select name=\"capa\" id=\"capa\" onchange=\"capa_album('parent',this,1)\" class=\"combo\">
            <option>Capa do album?</option>
            <option value=\"capa.php?album=$_nome_album&capa=N\">não</option>
            <option value=\"capa.php?album=$_nome_album&capa=$pequena\">Sim</option>
            </select>
        </form>
        </tr>
        </tr>
        <tr>
            <td colspan=\"2\">
            <input name=\"id\" type=\"hidden\" value=\"$id\" />
            <input name=\"pequena\" type=\"hidden\" value=\"$pequena\" />
            <input name=\"grande\" type=\"hidden\" value=\"$grande\" />
            <input type=\"button\" class=\"botao\" onclick=\"envioForm(1,$k)\" name=\"alterar\" value=\"Editar\" />
            <input type=\"button\" class=\"botao\" onclick=\"envioForm(2,$k)\" name=\"ok\" value=\"Excluir\" />
            <br>
            </td>
        </tr>
        </table>
        </form>
    </td>";
        if ( $k == 4)
    {
        echo "</tr><tr>";
        $k = 0;
    }
    
}
echo "</tr></table>";
  
?>
<?php echo "<br /><br /><div align='center' class='textos'><a href='enviar.php'>Enviar mais fotos</a></div>";?>
</body>
</html>
excluir.php
<?php
$con=mysql_connect('localhost','root','')or die('Erro na conexão, verifique os dados'.mysql_error($con));
mysql_select_db('banco',$con)or die('Erro ao selecionar a tabela'.mysql_error($con));
$_nome_album = $_REQUEST["album"];


@chmod('../../images/fotos/',0777);
    if($_SERVER['REQUEST_METHOD']=='POST'){
      @unlink('../../images/fotos/small/'.$_POST['pequena']);
      @unlink('../../images/fotos/big/'.$_POST['grande']);
//echo '../arquivos/'.$_POST['foto'];
      
      $apagar=mysql_query("DELETE FROM galeria WHERE id='{$_POST['id']}'")or die(mysql_error());
  }
($apagar) ? header("location:listar.php?album=$_nome_album") : die('Erro ao excluir os dados.');
?>

Obrigado

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Se você não omitir os erros fica mais fácil de saber...

Troque isso:

@chmod('../../images/fotos/',0777);
    if($_SERVER['REQUEST_METHOD']=='POST'){
      @unlink('../../images/fotos/small/'.$_POST['pequena']);
      @unlink('../../images/fotos/big/'.$_POST['grande']);
Por isso:
chmod('../../images/fotos/',0777);
    if($_SERVER['REQUEST_METHOD']=='POST'){
      unlink('../../images/fotos/small/'.$_POST['pequena']);
      unlink('../../images/fotos/big/'.$_POST['grande']);

Link para o comentário
Compartilhar em outros sites

  • 0

eu desconfio que seja algo no endereço "../../images/fotos/", por acaso existe alguma pasta chamada ".." ?

eu aconselho que você coloque assim "/images/fotos/", essa 1º barra o script vai entender como direitório principal..

caso a pasta imagens não esteja no diretório principal aidicones as outras pastas até que chegue no caminho dela.

Ex.:

"/blabla/blabla/images/fotos/"

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

Já fiz esse teste tb, acontece que o php estão em outros níveis...

e as pastas estão em outros caminhos, então tive que subir dois níveis ../../

tb fiz da maneira como você disse, mas não adiantou...tb não apagou as imagens

até dei uma modificada aplicando permissão em cada pasta....mas ainda sim fica na mesma..

<?php
$con=mysql_connect('localhost','root','')or die('Erro na conexão, verifique os dados'.mysql_error($con));
mysql_select_db('banco',$con)or die('Erro ao selecionar a tabela'.mysql_error($con));
$_nome_album = $_REQUEST["album"];


@chmod('images/fotos/',0777);
@chmod('../../images/fotos/small/',0777);
@chmod('../../images/fotos/big/',0777);

    if($_SERVER['REQUEST_METHOD']=='POST'){
      @unlink('../../images/fotos/small/'.$_POST['pequena']);
      @unlink('../../images/fotos/big/'.$_POST['grande']);
//echo '../arquivos/'.$_POST['foto'];
      
      //$apagar_capa=mysql_query("UPDATE album SET capa = 'sem_capa' WHERE id =$_nome_album")or die(mysql_error());
      $apagar=mysql_query("DELETE FROM galeria WHERE id='{$_POST['id']}'")or die(mysql_error());
  }
($apagar) ? header("location:listar.php?album=$_nome_album") : die('Erro ao excluir os dados.');
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...