Ir para conteúdo

POWERED BY:

Arquivado

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

Mbhvirtual

Exibir foto do banco de dados. Algum erro no código não me permite

Recommended Posts

Não consigo exibir as fotos que estou mandando para o banco de dados. Estou fazendo um sistema de comentário com foto e consegui manda-las para o banco de dados (mysql). Criei meu banco, depois minha tabela. Fiz a conexão e todos os itens da tabela estão recebendo seus dados. Só que a foto que não é exibida quando a chamo. Aparece apenas o nome da foto com a extensão. Como posso exibir a foto com os outros dados do comentário? Segue o erro. No primeiro arquivo tenho o formulário e a chamada em php do comentario. No segundo arquivo recebo os dados e envio para o banco de dados: Consigo chamar todos os dados, mas a foto nao aparece, so o seu nome.

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Classificdos</title>
</head>

<body>
  <div id="container">
    <h1>Faça seu Comentario</h1>

    <?php // aqui inicia a busca de comentarios dentro do banco de dados. require 'conexao.php'; $buscaComentario=m ysql_query( "SELECT * FROM comentarios WHERE identificacao = '1' AND moderacao ='nao'"); while ($lista=m ysql_fetch_array($buscaComentario))
    { $nome=$ lista[ 'nome']; $site=$ lista[ 'site']; $comentario=$ lista[ 'comentario']; $avatar=$ lista[ 'avatar']; echo "
							<p><strong>NOME: </strong> $nome </p>
							<p><strong>SITE: </strong> $site </p>
							<p><strong>COMENTÁRIO: </strong> $comentario </p>
							<img>$avatar</img>
							<hr/>

						"; } ?>
    <hr/>

    <h3>Deixe seu comentário</h3>

    <form id="" action="cadastraComentario.php" method="post" enctype="multipart/form-data">
      <fieldset>
        <legend>Preencha os Campos Abaixo:</legend>

        <label for="nome">NOME:</label>
        <input type="text" required id="nome" name="nome">
        <div class="clear"></div>

        <label for="email">E-MAIL:</label>
        <input type="text" id="email" name="email">
        <div class="clear"></div>

        <label for="site">SITE (Opcional):</label>
        <input type="text" id="site" name="site">
        <div class="clear"></div>
        <label for="comentario">Deixe seu Comentário</label>
        <br/>
        <textarea name="comentario" id="comentario" cols="60" rows="10"></textarea>

        <label id="escolher_foto" for="foto">Escolher uma Foto</label>
        <input type="file" name="avatar" id="avatar">

        <input type="submit" value="Comentar!">
        <br/>
        <input type="hidden" name="identificacao" value="1" />
        <input type="hidden" name="moderar" value="nao" />
      </fieldset>
    </form>
 
  </div>
</body>

</html>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<div id="seguraConteudo"> 
	
		<?php
		//error_reporting(0);

		require 'conexao.php';


		$nome = 		$_POST['nome'];
		$email = 		$_POST['email'];
		$site = 		$_POST['site'];
		$comentario = 	$_POST['comentario'];
		$identificacao= $_POST['identificacao'];
		$moderacao = 	$_POST['moderar'];
		$arquivo = 		$_FILES['avatar']['name'];
		$arquivoTemp = 	$_FILES['avatar']['tmp_name'];

		$pasta = "imagens/";
// Coloca a foto em uma pasta diretorio
		move_uploaded_file($arquivoTemp, $pasta);


		$headers = "Content-type:text/html; charset=UTF-8";
		$headers = "From: $email";
		$para 	 = "teste@servidor.com";
			$mensagem = "De: $nome";
			$mensagem .= "E-mail: $email";
			$mensagem .= "Site: $site";
			$mensagem .= "Comentario: $comentario";
			


		$envia = mail($para, "Comentário Efetuado no site", $mensagem, $headers);

		
		$insere = ("INSERT INTO comentarios (id, nome, email, site, comentario, identificacao, moderacao,avatar ) VALUES ('NULL', '$nome', '$email', '$site', '$comentario', '$identificacao', '$moderacao', '$arquivo')");

		$insereBanco = mysql_query($insere);
			
			echo "<p><strong>$nome</strong>, seu comentário foi efetuado com sucesso e aguarda liberação. Obrigado!";
			echo "<p><a href='Sistema_comentarios.php'>Voltar</a></p>";

		?>
	</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que viria a ser o:

<img>$avatar</img>

Se você quer exibir uma imagem no html tem que usar o img src...

<img src="nome-da-imagem.jpg/gif/png/etc">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta Eserra, fiz isto mas ainda nao consigo exibir a foto, a diferença é que agora, ja nao vejo só o nome da foto, mas vejo aquela foto pequena de erro quando uma foto nao pode ser exibida, acho que é por ai.

 

Eu fiz esta parte certo?

 

$pasta = "imagem/";

 

esta variavel é o caminho da foto? mas nao sei como fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

O caminho até a imagem está errado ou a imagem não existe, clique com o botão direito sobre a imagem e selecione "abrir imagem em uma nova guia" com isso você verá o que o navegador está tentando acessar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está é outra coisa Eserra eu nao estou conseguindo localizar as imagens que mandei para o banco de dados, la no banco so tem o nome delas. Na pasta deste projeto nao tem nenhuma imagem e nenhuma pasta. So me apareceu um arquivo sem extenção com 3MB chama imagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

localizei outro erro fiz o que vc falou e abri em um outro separador, a imagem é aquele arquivo chamado imagem que apareceu na minha pasta e toda vez que up uma imagem fica sendo este arquivo e substitui o anterior, e nao vira uma imagem .jpg, vira um fixeiro simples.

To vendo que estou com varios erros neste codigo que penso colega

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu recomendo que você sempre leia o manual, se ler verá que o uso do move_uploaded_file está errado no seu script:

move_uploaded_file($arquivoTemp, $pasta);

Você deve informar o caminho completo, incluído o nome do próprio arquivo no destino.

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.