Ir para conteúdo

POWERED BY:

Arquivado

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

Acles

[Resolvido] Script não deleta registro no MySQL

Recommended Posts

Bem pessoal, tô iniciando meus trabalhos com scripts PHP. Baixei um script já pronto, para estudá-lo e tentar desenvolvê-lo e atualizá-lo, porém na opção de deletar ele falha, simplesmente não deleta.

Veja o código da página de exclusão:

excluir_vídeo.php

<?php include("config.php");
$id_video = $_GET['id'];
$nome_video = $_GET['nome'];
$nome_foto = $_GET['foto'];

if ($id_video != ''){
if (@unlink("videos/$nome_video")) {
if (@unlink("fotos/$nome_foto")) {
$sql = mysql_query("DELETE FROM videos WHERE videoid = '$id_video'");

header ("location: gerenciar_videos.php?erro=n");
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
?>

Arquivo gerenciar_video.php:

<?php require_once("config.php");
$sql = mysql_query("SELECT * FROM videos order by videoid DESC", $conn);
$dados = mysql_fetch_assoc($sql);
$rows = mysql_num_rows($sql);
$contador = 0;

if ($_GET['erro'] == 's'){
echo "<center>Não foi possível completar sua solicitação!</center><p>";
}

if ($_GET['erro'] == 'n'){
echo "<center>Registro excluído com sucesso!</center><p>";
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Gerenciar Vídeos</title>
<style type="text/css">
<!--
.style1 {
        color: #FFFFFF;
        font-weight: bold;
}
-->
</style>
</head>

<body>
<div align="center">
  <table width="70%" border="1" cellspacing="2" bordercolor="#000000">
        <tr bgcolor="#FF9900">
          <td width="288"><div align="center" class="style1">Empresa</div></td>
          <td width="147"><div align="center" class="style1">Telefone</div></td>
          <td><div align="center" class="style1">Função</div></td>
        </tr>
        <? do { $contador = $contador + 1;?>
        <tr>
          <td><div align="center"><? echo $dados['videoempresa']; ?></div></td>
          <td><div align="center"><? echo $dados['videotel']; ?></div></td>
          <td width="80"><div align="center"><a href="excluir_video.php?foto=<? echo $dados['videofoto']; ?>&id=<? echo $dados['videoid']; ?>&nome=<? echo $dados['videofile']; ?>"><img src="delete.gif" alt="Excluir" width="16" height="16" border="0"></a></div></td>
        </tr>
        <? } while ($dados = mysql_fetch_assoc($sql)); ?>
  </table>
</div>
</body>
</html>
<?
mysql_free_result($sql);
?>

Arquivo config.php

<?
$host = "localhost";
$database = "video";
$login_db = "root";
$senha_db = "minhasenha";
$conn = mysql_connect($host, $login_db, $senha_db);

mysql_select_db($database, $conn);
?>
Banco de dados:

CREATE TABLE `videos` (
videoid INT AUTO_INCREMENT,
videoempresa VARCHAR (200) not null ,
videotel VARCHAR (100) not null ,
videofile  VARCHAR (200) not null ,
videofoto VARCHAR (150) not null ,
PRIMARY KEY (videoid)
);

Script completo

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifica se esta retornando algum erro e posta aqui no forum

 

<?php include("config.php");
echo $id_video = $_GET['id'];//verifica se esta pegando o get do id
$nome_video = $_GET['nome'];
$nome_foto = $_GET['foto'];

if ($id_video != '')
{
@unlink("videos/$nome_video");

@unlink("fotos/$nome_foto");

$sql = mysql_query("DELETE FROM videos WHERE videoid = '$id_video'") or die(mysql_error());// verifica se esta retornando algum erro nessa query

header ("location: gerenciar_videos.php?erro=n");
}

else
{
header ("location: gerenciar_videos.php?erro=s");
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu por responder aí galera, aparece o seguinte:

"Não foi possível completar sua solicitação!" Esse erro que tá aparecendo tá no arquivo "gerenciar_videos.php":

<?php require_once("config.php");
$sql = mysql_query("SELECT * FROM videos order by videoid DESC", $conn);
$dados = mysql_fetch_assoc($sql);
$rows = mysql_num_rows($sql);
$contador = 0;

if ($_GET['erro'] == 's'){
echo "<center>Não foi possível completar sua solicitação!</center><p>";
}

if ($_GET['erro'] == 'n'){
echo "<center>Registro excluído com sucesso!</center><p>";
}
?>

Não consigo encontrar os erros. Já adicionei o " 'or die(mysql_error())'" e nada....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou novo na area também, pelo que entendi o problema está

na página excluir_video.php, na funçao unlink()

mais detalhes da função unlink()

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou novo na area também, pelo que entendi o problema está

na página excluir_video.php, na funçao unlink()

mais detalhes da função unlink()

 

flw

 

Tá começando bem RDP!

Resolveu meu problema, agora tá deletando! hehe

 

Mas... nada é perfeito. Veja o que acontece após deletar:

 

Warning: unlink(video/) [function.unlink]: Permission denied in C:\AppServ\www\painel\tube\excluir_video.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\painel\tube\excluir_video.php:7) in C:\AppServ\www\painel\tube\excluir_video.php on line 15

 

excluir_video.php após correção:

<?php include("config.php");
$id_video = $_GET['id'];
$nome_video = $_GET['file'];
$nome_foto = $_GET['foto'];

if ($id_video != ''){
if (!unlink("video/$nome_video")) {
if (!unlink("fotos/$nome_foto")) {
$sql = mysql_query("DELETE FROM videos WHERE videoid = '$id_video'") or die(mysql_error());

header ("location: gerenciar_videos.php?erro=n");
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
}
else
{
header ("location: gerenciar_videos.php?erro=s");
}
?>

Obrigado amigos! Aguardo resposta!

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim tipo tem certeza que ali o id_video é uma string? Tem certeza que não deletava porque não tava pegando?

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo, a ação de deletar num tava pegando justamente pelo erro na função unlink().

Agora deleta normalmente, só tem aquele erro no final!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função unlink ela não aceita receber como parâmetros

strings com coringas, por exemplo /pasta/*.txt

 

da uma olhada também como está sendo armazenadas no banco,

pois o "erro" acredito que ainda continue na função unlink()

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função unlink ela não aceita receber como parâmetros

strings com coringas, por exemplo /pasta/*.txt

 

da uma olhada também como está sendo armazenadas no banco,

pois o "erro" acredito que ainda continue na função unlink()

 

Beleza, vou estudar mais essa função e vou resolver meu problema, se Deus quiser! haha'

Pode colocar RESOLVIDO já, logo meu problema era deletar os videos, e assim foi feito!

Obrigado a todos!

Abraços!

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.