Ir para conteúdo

Arquivado

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

grldesign

Problemas ao Gravar no Banco

Recommended Posts

Abaixo está o código do arquivo que executa a query no sql. Acho que o erro é simples, mas pra mim que to faz horas fuçando em PHP tá complicado de identificar.

 

Se alguem souber me diga.

 

Arquivo GRAVA.PHP

<?php 	include('config/config.inc.php');	include ('includes/data.php');		$titulo = $_POST[not_titulo];	$noticia = $_POST[not_noticia];	$data = $data_sql;	$hora = $hora_sql;   	 $org = "INSERT INTO ctg_noticias (id, titulo, texto, data, hora) VALUES('', '$titulo', '$noticia', '$data', '$hora'";$gravar = mysql_query($org);if(!$gravar) {?><script>window.location="noticias.php?acao=erro"</script><?}else {?><script>window.location="noticias.php?acao=principal"</script><?	}	?>

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

viu.... acho que nessa linha:

$org = "INSERT INTO ctg_noticias (id, titulo, texto, data, hora) VALUES('', '$titulo', '$noticia', '$data', '$hora'";

tah faltando o parenteses no finalpra ficar assim

$org = "INSERT INTO ctg_noticias (id, titulo, texto, data, hora) VALUES('', '$titulo', '$noticia', '$data', '$hora')";

deve ser isso........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realm, era isso mesmo véi!Você vê. Um erro tão banal que o excesso de tempo emcima do PC não permite que a gente note.Obrigadão mesmo! B)/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continuando o problema! Aquele foi resolvido graças a deus.

 

Agora vem a parte que acho um pouco mais complicada. Abaixo segue o código de gravação de um arquivo de imagem no banco de dados (só endereço da mesma) para depois ser utilizado na página. Este arquivo é enviado e após disso é feita a gravação.

 

Só que ele retorna todos os erros:

 

-> Não Grava no Banco de Dados;

-> Formato de Arquivo inválido;

-> Nome de arquivo já em uso;

 

Eu tinha conseguido fazer este sistema funcionar, mas acabei me desfazendo dele a pouco mais de uma hora. Agora tive que recomeçar e ficou dando estes erros.

 

Além disso, gostaria de permitir o envio tanto de JPG como de GIF, pois quando consegui só foi possível enviar JPG.

 

grava.php

<?php 	include('config/config.inc.php');	include('includes/data.php');		$titulonot = $_POST[not_titulo];	$noticia = $_POST[not_noticia];	$datanot = $data_sql;	$horanot = $hora_sql;if($figura <> 'none') {if (($figura_type <> 'image/pjpeg'))	{	$erros++;	$errors = $errors."Formato Inválido<br>";}if($figura_size > 102400) {	$erros++;	$errors = $errors."Tamanho da imagem excede o limite de 100 Kb.<br>";}$caminho = "../figuras/noticias/$figura_name";if(file_exists($caminho)) {	$erros++;	$errors = $errors."Nome de arquivo já em uso. Renomeie-o e tente novamente.<br>";}if($erros == 0) {copy($figura, $caminho);	$org = "INSERT INTO ctg_noticias (id, titulo, texto, imagem, data, hora) VALUES('', '$titulonot', '$noticia', '$caminho', '$datanot', '$horanot')";$gravar = mysql_query($org);if(!$gravar) {?><script>window.location="noticias.php?acao=erro"</script><?}else {?><script>window.location="noticias.php?acao=principal"</script><?	}}else {  echo "<br>Não foi possível gravar no Banco de Dados!";  echo "<br>$errors";	}	}	?>

Desde já... VALEU! B)/>

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php include('config/config.inc.php');include('includes/data.php');$titulonot = $_POST[not_titulo];$noticia = $_POST[not_noticia];$datanot = $data_sql;$horanot = $hora_sql;if($figura <> 'none') {if (($figura_type <> 'image/pjpeg')) {$erros++;$errors = $errors."Formato Inválido<br>";}if($figura_size > 102400) {$erros++;$errors = $errors."Tamanho da imagem excede o limite de 100 Kb.<br>";}[COLOR=red][B]$caminho = "../figuras/noticias/$figura_name";[/B][/COLOR]if(file_exists($caminho)) {$erros++;$errors = $errors."Nome de arquivo já em uso. Renomeie-o e tente novamente.<br>";}if($erros == 0) {copy($figura, $caminho);$org = "INSERT INTO ctg_noticias (id, titulo, texto, imagem, data, hora) VALUES('', '$titulonot', '$noticia', '[B][COLOR=red]$caminho'[/COLOR][/B], '$datanot', '$horanot')";$gravar = mysql_query($org);if(!$gravar) {?><script>window.location="noticias.php?acao=erro"</script><?}else {?><script>window.location="noticias.php?acao=principal"</script><? }}else { echo "<br>Não foi possível gravar no Banco de Dados!"; echo "<br>$errors";}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o que está em vermelho é o que você me perguntou.

 

Tentei utilizando um GET na variavel que vinha do formulário e continuou não funcionando.

 

<?php

include('config/config.inc.php');

include('includes/data.php');

 

$titulonot = $_POST[not_titulo];

$noticia = $_POST[not_noticia];

$datanot = $data_sql;

$horanot = $hora_sql;

 

if($figura <> 'none') {

 

if (($figura_type <> 'image/pjpeg')) {

$erros++;

$errors = $errors."Formato Inválido<br>";

}

 

if($figura_size > 102400) {

$erros++;

$errors = $errors."Tamanho da imagem excede o limite de 100 Kb.<br>";

}

 

$caminho = "../figuras/noticias/$figura_name";

if(file_exists($caminho)) {

$erros++;

$errors = $errors."Nome de arquivo já em uso. Renomeie-o e tente novamente.<br>";

}

 

if($erros == 0) {

 

copy($figura, $caminho);

 

$org = "INSERT INTO ctg_noticias (id, titulo, texto, imagem, data, hora) VALUES('', '$titulonot', '$noticia', '$caminho', '$datanot', '$horanot')";

$gravar = mysql_query($org);

 

if(!$gravar) {

?><script>window.location="noticias.php?acao=erro"</script><?

 

}

else {

 

?><script>window.location="noticias.php?acao=principal"</script><?

}

}

else {

echo "<br>Não foi possível gravar no Banco de Dados!";

echo "<br>$errors";

}

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

include('config/config.inc.php');

include('includes/data.php');

 

$titulonot = $_POST[not_titulo];

$noticia = $_POST[not_noticia];

$datanot = $data_sql;

$horanot = $hora_sql;

 

if($figura <> 'none') {

 

if (($figura_type <> 'image/pjpeg')) {

$erros++;

$errors = $errors."Formato Inválido<br>";

}

 

if($figura_size > 102400) {

$erros++;

$errors = $errors."Tamanho da imagem excede o limite de 100 Kb.<br>";

}

 

$caminho = "../figuras/noticias/$figura_name";

if(file_exists($caminho)) {

$erros++;

$errors = $errors."Nome de arquivo já em uso. Renomeie-o e tente novamente.<br>";

}

 

if($erros == 0) {

 

copy($figura, $caminho);

 

$org = "INSERT INTO ctg_noticias (id, titulo, texto, imagem, data, hora) VALUES('', '$titulonot', '$noticia', '$caminho', '$datanot', '$horanot')";

$gravar = mysql_query($org);

 

if(!$gravar) {

?><script>window.location="noticias.php?acao=erro"</script><?

 

}

else {

 

?><script>window.location="noticias.php?acao=principal"</script><?

}

}

else {

echo "<br>Não foi possível gravar no Banco de Dados!";

echo "<br>$errors";

}

}

 

?>

Cara, olha a variável em azul, onde você define ela? Ah! E no lugar de <> (vermelho) coloque != ;)/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

prescot, realmente em termos era isto. Só que não está funcionando ainda. Vou explicar a organização de pastas:

 

-> CTG

      -> ADPanel

              -> grava.php #Arquivo que envia a imagem

      -> Figuras

              -> Noticias #Pasta de Destino da Imagem

                 

Como você pode notar, a pasta de destino está um nível acima, no caso, na raiz do site, e o arquivo que envia dentro da pasta do Painel Administrativo entende?

 

Ele retorna o erro abaixo:

 

Warning: Unable to open '' for reading: Permission denied in C:\apache\htdocs\ctg\adpanel\noticias_adicionar_gravar.php on line 33

A Linha 33 é justamente a que executa a cópia do arquivo para a pasta de destino.

Coloco abaixo as linhas referentes a este comando:

 

copy($figura, $caminho);

onde

 

$caminho = "../figuras/noticias/$figura_name";

Engraçado é que já consegui fazer este script funcionar fazendo alterações nele, só que tive problemas enquanto testava e o computador foi reiniciado, perdendo tudo que tinha feito e depois não consegui mais arrumar.

Portanto permissão não é o problema, é questão de configuração, eu tenho quase certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca assim:

if (copy($origem, $destino)) {// Código pra gravar no db

Tem certeza que a origem e destino da imagem estão certos (lembre-se, o destino deve conter o nome da imagem também, tipo, images/figura.jpg) ;)/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...A variável $figura é a origem, pois pega o valor do campo file do formulário.A variável $caminho é o destino, como descrevi acima.Só que não grava. No caso de ser um nível acima, o uso de "../caminho" está certo?Aliás, fiz o que você disse do IF e continua não funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso tenho certeza que sim.Ele funcionou no servidor apache no meu micro!!!Estou testando ele novamente mas não está funcionando agora.Da outra vez ele funcionava corretamente, criava as imagens na pasta e tudo... agora deu problema.

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.