Ir para conteúdo

Arquivado

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

Zero Minamoto

Imagem não sendo exibida no sistema de postagens

Recommended Posts

Criei um sistema que posta o NOME, AUTOR, CONTEÚDO e IMAGEM de uma postagem. Mas após preencher o formulário para postar, é postado tudo certinho e blá blá blá, mas quando vou para a página principal a imagem não aparece, aparece "quebrada", tipo quando tu tenta declarar uma imagem em HTML mas esquece de colocar a extensão dela. Menor ideia do que está acontecendo, alguém pode me ajudar?

 

Página principal:

<!DOCTYPE html>
<html lang="pt-br">

<head>
	<meta charset="UTF-8"/>
	<title> Sistema de postagens Versão 1.2</title>
</head>
<body>
<h1>Postagens:</h1>
<?php
include_once("connection.php");

$sql = "SELECT * FROM posts_dois ORDER BY id";
$result = mysqli_query($conn, $sql);

while($row = mysqli_fetch_array($result)) {
	$id 		= $row['id'];
	$title 		= $row['titulo'];
	$autor	 	= $row['autor'];
	$content 	= $row['conteudo'];
	$image		= $row['imagem']

?>
<b><?php echo $title; ?></b> - <small><?php echo $autor . "-" . $id; ?></small><p><?php echo $content; ?></p><?php echo "<img src = <?php $image; ?>" ?><hr/>
<?php
}
?>
<a href="login.php">Admin</a>

</body>
</html>

Página com o formulário para fazer as postagens

<?php
session_start();
if(isset($_SESSION['mainuser'])) { // 1
	$user = $_SESSION['mainuser'];
	if(isset($_POST['submit']) && $_GET['funcao'] == "gravar") { // 3

	$title 		= $_POST['titulo'];
	$autor 		= $_POST['autor'];
	$content 	= $_POST['conteudo'];
	$arqTemp 	= $_FILES['arquivo']['tmp_name'];
	$arqName 	= $_FILES['arquivo']['name'];
	$types 		= array('image/jpeg', 'image/png', 'image/gif');
	$arqType 	= $_FILES['arquivo']['type'];
	$arqError 	= $_FILES['arquivo']['error'];
	if($arqError == 0) { // 5
	if(array_search($arqType, $types) === false) { // 4
		echo "O tipo de arquivo é inválido!";
	 } // 4  
	 else { // 6
	 	$upload 	= move_uploaded_file($arqTemp, "imagens/" . $arqName); 

	 	if($upload) { // 7
	 		include_once('connection.php');

	 		$sql = "INSERT INTO posts_dois(titulo, autor, conteudo, imagem) VALUES ('$title', '$autor', '$content', '$arqName')";
	 		$result = mysqli_query($conn, $sql);
	 		echo "Postagem salva com sucesso";
	 	} // 7
	 	else { // 8
	 		echo "Falha em salvar a postagem";
	 	} // 8
	 } // 6
	} // 5
} // 3
} // 1
else { // 2
	header('Location: login.php');
} // 2

?>
<!DOCTYPE html>
<html lang="pt-br">

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

<body>
<form method="post" action="postar.php?funcao=gravar" enctype="multipart/form-data">
	Título: <input type="text" name="titulo"/></br></br>
	Autor: <input type="text" name="autor"/></br></br>
	Conteúdo: <input type="text" name="conteudo"/></br></br>
	Imagem: <input type="file" name="arquivo"/></br></br>

<input type="submit" name="submit" value="POSTAR"/>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Na pagina principal na declaração da imagem está errada

<?php echo "<img src = <?php $image; ?>" 

correto

<?php echo "<img src = '".$image."'/>"; ?>

Fiz o que você disse, mas ainda não funcionou

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro ponto ali é que você está enviando a imagem para uma pasta, mas na hora de exibir não está citando a pasta no img src...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

verifique como o caminho da imagem está ficando salva no Banco de dados.

<?php echo "<img src = 'imagens/".$image."'/>"; ?>

Agora sim! Acho que preciso estudar HTML tudo de novo, tá ruim aqui. Obrigado pela solução. XD

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.