Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocrz

Registro de noticias com foto

Recommended Posts

bom dia,

 

estou com dificuldades de cadastrar uma noticia com foto no banco de dados., No caso a noticia é cadastrada mas a foto em anexo nao... peço a ajuda de voce para poder resolver isso... vou postar o codigo..

 

Obs, não sei utilizar o[ code ] então vai normal mesmo...

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link type="text/css" rel="stylesheet" href="sistema.css" />

<script language="javascript">

	//aqui faz a função de abrir e fechar a div para colocar foto ou não

	function mudaDiv() {
               var div = document.getElementById("teste");
               var check = document.getElementById("check");
               if (check.checked) {
                       div.className = "aparece";
               } else {
                       div.className = "some";
               }
       }


</script>
<style>

.aparece {display: block;}
.some {display: none;}
body {
margin-left: 15px;
}
</style>
<?php require("conexao.php"); ?>
</head>
<body>
<p>
<?

if ($_GET['vai'] == 'envia'){

mysql_query("select * from noticias");
////////////////////////////////
$titulo = $_POST['titulo'];
$subtitulo = $_POST['subtitulo'];  
   $texto  = $_POST['texto'];
if(file_exists ($foto01)){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 
//////////////////////////////////

//aqui faz a liberação ou não dos inputs//
	if($titulo == "")
{
	echo" ** Por Favor Preencha o Campo Titulo! **";

}
else if($subtitulo == "")
{
	echo" ** Por Favor Preencha uam Descrição para a notícia! **";

}

else if($texto == "")
{
	echo" ** Por Favor Preencha o Campo Texto! **";

}

else
{
// cadastra nos bancos //		
$envia =mysql_query("insert into noticias(data,hora,titulo,subtitulo,texto,foto01) values ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')")or die(mysql_error());

if($foto01_name)
{
copy($foto01,$teste01);
}

echo "Notícia Cadastrada com Sucessos!";
}

}    
?> 

</p>
<h1 class="admin-2">:: Cadastro de Noticias  :: </h1>
<form action="?vai=envia" name="form Noticías" enctype="multipart/form-data" method="post">

<input name="data" type="hidden" class="form" value="<?=$data = date("Y-m-d");?>" /><br />

<input name="hora" type="hidden" class="form" value="<?=$hora = date("H:i:s");?>" />

<label>Título da Notícia: </label><input name="titulo" type="text" class="form" size="60" /> 
<br />
<br />
<label>Descrição da Notícia: </label><input name="subtitulo" type="text" class="form" size="60" /> 
<br />
<br />
<label>Texto:</label>
<textarea name="texto" class="form" style="width: 300px; height: 100px;">
</textarea>
<br />

<span class="admin-link-1">
<label>Com Fotos:</label>
</span> 
<input type="checkbox" id="check" onclick="mudaDiv()"/>
<br />
<div id="teste" class="some">
<label>Imagem:</label> <input type="file" name="foto01" class="form" /><br />
</div><br />
<label> </label><input type="submit" value="Enviar" class="form" />
</form>
</body>
</html>

 

 

aguardo alguma resposta que consiga resolver isso para mim...

abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o code para postar aqui no forum, facilita a leitura do codigo.

 

Enfim, na linha abaixo:

 

if(file_exists ($foto01)){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 

 

Você verifica se a variavel existe, não encontrei ela no seu codigo. Reveja ai como resgatar o conteudo enviado pelo file.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o code para postar aqui no forum, facilita a leitura do codigo.

 

Enfim, na linha abaixo:

 

if(file_exists ($foto01)){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 

 

Você verifica se a variavel existe, não encontrei ela no seu codigo. Reveja ai como resgatar o conteudo enviado pelo file.

 

opa, obrigado pela resposta, mas entao.... eu não sei como usar o [ code ], como seria é so colocar code no comeco e depois /code no final !?

 

Use o code para postar aqui no forum, facilita a leitura do codigo.

 

Enfim, na linha abaixo:

 

if(file_exists ($foto01)){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 

 

Você verifica se a variavel existe, não encontrei ela no seu codigo. Reveja ai como resgatar o conteudo enviado pelo file.

 

alguma dica de como eu poderia fazer isso ?! sou iniciante no php... e ainda tem algumas coisas que não entendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando vai responder uma mensagem tem as opções de negrito, italico... o segundo de trás para frente é <> com title Inserir Code, clica nele e vai aparecer [ code ] [ / code ] (sem os espaços). :)

 

if(isset($_FILES['foto01'])){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 

 

Vamos por partes, veja se assim vai gravar o nome da imagem no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando vai responder uma mensagem tem as opções de negrito, italico... o segundo de trás para frente é <> com title Inserir Code, clica nele e vai aparecer [ code ] [ / code ] (sem os espaços). :)

 

if(isset($_FILES['foto01'])){ $teste01 = date('dmy') . '-' . date('His') . '-' .$_FILES['foto01']['name']; } 

 

Vamos por partes, veja se assim vai gravar o nome da imagem no banco de dados.

 

 

o nome foi gravado sim... mas a imagem não apareceu na tela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, um passo de cada vez (senão trupica, :D )

 

Você só gravou o nome da imagem, agora você precisa mover a imagem para a pasta. Alguns servidores não tem habilitado o copy, como você usou:

 

if($foto01_name)
{
copy($foto01,$teste01);
}

 

Então, troque isso:

 

// cadastra nos bancos //
$envia =mysql_query("insert into noticias(data,hora,titulo,subtitulo,texto,foto01) values ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')")or die(mysql_error());

if($foto01_name)
{
copy($foto01,$teste01);
}

echo "Notícia Cadastrada com Sucessos!";

 

Por isso:

 

// cadastra nos bancos //
$diretorio = //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/
$imagem	= $_FILES['foto01'];;
$inserir = "INSERT INTO noticias(data,hora,titulo,subtitulo,texto,foto01) VALUES ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')";
$envia =mysql_query($inserir)or die(mysql_error());
if(mysql_query($inserir) or die(mysql_error())){
move_uploaded_file($imagem['tmp_name'],$diretorio.$teste01);
echo "Dados alterados com sucesso!";
} else {
echo "Problemas no cadastro!";
}

 

Vamos ver se agora vai :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, um passo de cada vez (senão trupica, :D )

 

Você só gravou o nome da imagem, agora você precisa mover a imagem para a pasta. Alguns servidores não tem habilitado o copy, como você usou:

 

if($foto01_name)
{
copy($foto01,$teste01);
}

 

Então, troque isso:

 

// cadastra nos bancos //
$envia =mysql_query("insert into noticias(data,hora,titulo,subtitulo,texto,foto01) values ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')")or die(mysql_error());

if($foto01_name)
{
copy($foto01,$teste01);
}

echo "Notícia Cadastrada com Sucessos!";

 

Por isso:

 

// cadastra nos bancos //
$diretorio = //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/
$imagem	= $_FILES['foto01'];;
$inserir = "INSERT INTO noticias(data,hora,titulo,subtitulo,texto,foto01) VALUES ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')";
$envia =mysql_query($inserir)or die(mysql_error());
if(mysql_query($inserir) or die(mysql_error())){
move_uploaded_file($imagem['tmp_name'],$diretorio.$teste01);
echo "Dados alterados com sucesso!";
} else {
echo "Problemas no cadastro!";
}

 

Vamos ver se agora vai :D

 

 

cara ta dando o seguinte erro: Fatal error: Unsupported operand types in /home/macomuni/public_html/cadastrar.php on line 74

 

e esta linda de nº. 74 é essa:

// cadastra nos bancos //
$diretorio = imagem/ //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/
[b] 74 $imagem = $_FILES['foto01']; [/b]
$inserir = "INSERT INTO noticias(data,hora,titulo,subtitulo,texto,foto01) VALUES ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')";
$envia = mysql_query($inserir)or die(mysql_error());
if(mysql_query($inserir) or die(mysql_error())){
       move_uploaded_file($imagem['tmp_name'],$diretorio.$teste01);
       echo "Notícia cadastrada com sucesso!";
} else {
       echo "Problemas no cadastro!";
}

 

Como eu disse, um passo de cada vez (senão trupica, :D )

 

Você só gravou o nome da imagem, agora você precisa mover a imagem para a pasta. Alguns servidores não tem habilitado o copy, como você usou:

 

if($foto01_name)
{
copy($foto01,$teste01);
}

 

Então, troque isso:

 

// cadastra nos bancos //
$envia =mysql_query("insert into noticias(data,hora,titulo,subtitulo,texto,foto01) values ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')")or die(mysql_error());

if($foto01_name)
{
copy($foto01,$teste01);
}

echo "Notícia Cadastrada com Sucessos!";

 

Por isso:

 

// cadastra nos bancos //
$diretorio = //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/
$imagem	= $_FILES['foto01'];;
$inserir = "INSERT INTO noticias(data,hora,titulo,subtitulo,texto,foto01) VALUES ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')";
$envia =mysql_query($inserir)or die(mysql_error());
if(mysql_query($inserir) or die(mysql_error())){
move_uploaded_file($imagem['tmp_name'],$diretorio.$teste01);
echo "Dados alterados com sucesso!";
} else {
echo "Problemas no cadastro!";
}

 

Vamos ver se agora vai :D

 

 

cara ta dando o seguinte erro: Fatal error: Unsupported operand types in /home/macomuni/public_html/cadastrar.php on line 74

 

e esta linda de nº. 74 é essa: $imagem = $_FILES['foto01'];

// cadastra nos bancos //
$diretorio = imagem/ //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/
$imagem = $_FILES['foto01']; <<<<<<<<<<<<---------------
$inserir = "INSERT INTO noticias(data,hora,titulo,subtitulo,texto,foto01) VALUES ('$data','$hora','$titulo','$subtitulo','$texto','$teste01')";
$envia = mysql_query($inserir)or die(mysql_error());
if(mysql_query($inserir) or die(mysql_error())){
       move_uploaded_file($imagem['tmp_name'],$diretorio.$teste01);
       echo "Notícia cadastrada com sucesso!";
} else {
       echo "Problemas no cadastro!";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe bem essa linha:

$diretorio = "/imagem/" //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/

 

Se retirar só o comentário que eu fiz ficará assim:

 

$diretorio = "/imagem/"

 

Faltou o ; fechando a linha. Então, terá que ficar assim:

$diretorio = 'imagem/';

 

Não esqueça de conferir o diretorio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe bem essa linha:

$diretorio = "/imagem/" //coloque aqui o seu diretorio da imagem com / no final, tipo: imagem/noticias/

 

Se retirar só o comentário que eu fiz ficará assim:

 

$diretorio = "/imagem/"

 

Faltou o ; fechando a linha. Então, terá que ficar assim:

$diretorio = 'imagem/';

 

Não esqueça de conferir o diretorio.

 

 

isso mesmo... eu acertei... mas agora na pagina da noticia selecionada nao esta apareendo a imagem...

 

estou postando o codigo que abre a noticia selecionada:

 

<?php

include "conexao.php";

$id = $_GET["id"];
$sql = mysql_query("SELECT `data`, `hora`, `titulo`, `subtitulo`, `texto`, `foto01`,`id` FROM  noticias where id='$id' LIMIT 0,1");
while($busca = mysql_fetch_array($sql))
{
   $id = $busca["id"];
$titulo = $busca["titulo"];
$data = $busca["data"];
$hora = $busca["hora"];
$titulo = $busca["titulo"];
$subtitulo = $busca["subtitulo"];
$texto = $busca["texto"];
$foto01 = $busca["foto01"];
echo date('d-m-Y', strtotime($data));
echo"<br/>";
echo"<h2>$titulo</h2>";
echo"$subtitulo<br /><br />";
echo"<img src='$busca[foto01]' width='250' align='left' hspace='35' vspace='35'>";

echo"<div align='justify'>$texto</div>";	
echo"<br><br>";
echo"<a href='javascript:history.go(-1)'>Voltar</a>";
echo"     ";
echo"<a href='#' onClick='window.print()'><img src='ico_imprimir.gif' align='absmiddle'></a>";
echo"     ";
echo"<a href='#' class='osx'><img src='ico_enviaramigo.gif' align='absmiddle'></a>";

}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gravou a imagem na pasta?

 

E outra, no codigo gravamos na pasta imagem, certo? Então não está faltando ela no diretorio, confere só nessa linha:

 

echo"<img src='$busca[foto01]' width='250' align='left' hspace='35' vspace='35'>";

 

Ai ele está imprimindo somente o nome da imagem, não tem o caminho da pasta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo... eu acertei... mas agora na pagina da noticia selecionada nao esta apareendo a imagem...

 

estou postando o codigo que abre a noticia selecionada:

 

<?php

include "conexao.php";

$id = $_GET["id"];
$sql = mysql_query("SELECT `data`, `hora`, `titulo`, `subtitulo`, `texto`, `foto01`,`id` FROM  noticias where id='$id' LIMIT 0,1");
while($busca = mysql_fetch_array($sql))
{
   $id = $busca["id"];
$titulo = $busca["titulo"];
$data = $busca["data"];
$hora = $busca["hora"];
$titulo = $busca["titulo"];
$subtitulo = $busca["subtitulo"];
$texto = $busca["texto"];
$foto01 = $busca["foto01"];
echo date('d-m-Y', strtotime($data));
echo"<br/>";
echo"<h2>$titulo</h2>";
echo"$subtitulo<br /><br />";
echo"<img src='$busca[foto01]' width='250' align='left' hspace='35' vspace='35'>";

echo"<div align='justify'>$texto</div>";	
echo"<br><br>";
echo"<a href='javascript:history.go(-1)'>Voltar</a>";
echo"     ";
echo"<a href='#' onClick='window.print()'><img src='ico_imprimir.gif' align='absmiddle'></a>";
echo"     ";
echo"<a href='#' class='osx'><img src='ico_enviaramigo.gif' align='absmiddle'></a>";

}
?>

 

 

amigão.. resolvido o problema.. na pagina da noticia nao coloquei a pasta aonde estava a imagem.. agora deu certo..

 

cara.. brigadão mesmo pela ajuda !!!!

 

abração

Marcelo

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.