Jump to content


Photo

Erro Ao Exibir Imagem Do Banco De Dados


  • Faça o login para participar
2 replies to this topic

#1 Ingrid Louise

Ingrid Louise

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Feminino
  • Localidade:Canoas - RS

Posted 27/10/2010, 20:51

Estou encontrando problemas ao exibir uma imagem do banco de dados (my sql).
Tenho um formulário para cadastro de notícias onde podem ser enviados Título, texto, palavras chave e imagem.
Ele está salvando no banco de dados, mas na hora de mostrar a imagem dá erro.
Aí vão as páginas:

nova_noticia.php
<form action="cad_noticia.php" method="post" enctype="multipart/form-data" id="form2">
               Título<br />
        <input name="txttitulo" type="text" id="txttitulo" /><br />
            Texto<br />
        <textarea name="txttexto" id="txttexto"></textarea><br />
            Palavras Chave<br />
        <input name="txtpalavras" type="text" id="txtpalavras" /><br />
            Imagem Notícia <br />
        <input name="foto" type="file" id="foto" /><br /><br /><br />
        <input type="submit" name="Submit" value="POSTAR" />

cad_noticia.php
<?php
    include("conecta.php");
    $tit=$_POST['txttitulo'];
    $texto=$_POST['txttexto'];
    $key=$_POST['txtpalavras'];
    $foto = $_FILES['foto']['name'];
    $data=date("Y-m-d");
    
    $tmpFoto = $_FILES['foto']['tmp_name'];
    
    $destino = "noticias/imagens/".$foto;
        include("funcoes.php");
            if (empty($tit))
                $erros[]="Preencha o título!";
            if (empty($texto))
                $erros[]="Preencha o texto!";
            if (empty($key))
                $erros[]="Preencha as palavras!";
            if (!valida_imagem ($foto))
                $erros[]="Imagem inválida!";
            if (sizeof($erros)>0){
                foreach ($erros as $erro){
                    echo "<p>$erro</p>";
                }
            }else{
            $sql="insert into noticia (titulonoticia, textonoticia, palavrasnoticia, imagemnoticia, datanoticia) values ('$tit','$texto','$key','$foto','$data')";
            if($query = @mysql_query($sql) or die ('Erro na inserção! '.mysql_error())){
                header("Location: index.php");
            }else{
                echo('ERRO! Notícia não Cadastrada!');
            }
            }
?>

index.php
<?php
require_once("conecta.php");
$sql = "SELECT * FROM noticia";
$query = mysql_query($sql);
$dados = mysql_fetch_assoc($query);
?>
<html>
<head>
<title>Teste</title>
</head>
<body>
<!-- Aqui o conteúdo da página em HTML -->
<p><img src="<?php echo $dados['foto'];?>" width="86" height="70" /></p>
</body>
</html>

Daí não aparece nada na parte indicada para aparecer a imagem no index.php.
Me ajudem por favor, é meu TCC do Técnico e só tenho a noite para fazer...

Obrigada! :rolleyes:

#2 hugo

hugo

    Super Gestão - Soluções para Internet

  • Usuários
  • 174 posts
  • Sexo:Masculino
  • Localidade:São Paulo
  • Interesses:Trocar conhecimentos (ajudar e também aprender)

Posted 27/10/2010, 21:16

opa
manda o funcoes.php
tem alguma mensagem de erro? se tiver, posta tbem.
você deu permissão nas pastas noticias/imagens/ ?
Super Gestão - Desenvolvimento de Sites e Sistemas
.................................................................
Anuncie grátis
.................................................................

#3 Ingrid Louise

Ingrid Louise

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Feminino
  • Localidade:Canoas - RS

Posted 28/10/2010, 18:42

opa
manda o funcoes.php
tem alguma mensagem de erro? se tiver, posta tbem.
você deu permissão nas pastas noticias/imagens/ ?


funcoes.php
<?php
function valida_nome($nome){
    $formato="^([a-zA-Z áÁãÃéÉíÍóõ'âôêÂÔÊÓÕöÖ]){5,70}$";
    return ereg($formato,$nome);
}
function valida_email($email){
    return filter_var($email,FILTER_VALIDATE_EMAIL);
}
function valida_data($data){
    $formato="^([0-9]){2}/([0-9]){2}/([0-9]){2,4}$";
    return ereg($formato,$data);
}
function valida_imagem($foto){
    if(empty($foto)){
        return false;
    }else{
        $formato="^image\/(jpg|pjpeg|jpeg|gif|png)$";
        if(eregi($formato,$foto['type'])){
                if($foto['size']>1000000){
                    return false;
                }else{
                    return true;
                }
    }
}
}
}
?>

Não aparece nenhuma mensagem de erro, só que não aparece a imagem nem nada no local indicado.

Eu não dei permissão, apenas criei as pastas no servidor, como faço pra dar permissão?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq