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

Script não deleta registro no MySQL


PiruYasha

Pergunta

Bem pessoal, estou 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

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

tenta isso

<?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")) { 

$tab="videos";
mysql_query("DELETE FROM $tab WHERE id = $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");
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Altere os dois códigos para isso (adicionar 'or die(mysql_error())'):

<?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'") 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");
}
?>
<?
$host = "localhost"; 
$database = "video";
$login_db = "root";
$senha_db = "minhasenha";
$conn = mysql_connect($host, $login_db, $senha_db) or die(mysql_error());

mysql_select_db($database, $conn) or die(mysql_error());
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Conseguir resolver o erro... agora tá apagando!

Só que tá dando outros erros quando deleto.

Veja só como ficou o arquivo excluir_video.php após a 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");
}
?>

PS.: O erro estava na função unlink().

Agora aparece esse erro:

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

Andei pesquisando e lendo, falava sobre chmod, mais eu uso servidor local, o que pode ser dessa vez?

Obrigado!

Editado por PiruYasha
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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...