Ir para conteúdo

POWERED BY:

Arquivado

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

Evandro.S Eisinger

[Resolvido] Problema com cadastrar dados no banco.

Recommended Posts

Oi Pessoal!

 

Eu novamente..^^

 

Consigui fazer um Uploader dinamico.

Mas agora nao estou consiguindo cadastrar dados.

 

O problema é esse:

 

- O upload esta funcionando.

- Que o nome da galeria, seja cadastrado na tb_galeria.

- Que cada foto que for enviada para o servidor, seja gravado o nome dela no banco de dados.

- E que em cada foto seja gravado sua galeria.

 

Ex: foto: aviao.jpg categoria: branco

 

 

Eu tentei fazer mas nao consigui de maneira alguma.

Aqui esta meu código que usei, coloquei somente a parte que faz o upload e o cadastro do dados.

 

if( isset( $_POST['enviar'] ) and isset( $_POST['galeria']) ) {
$galeria=$_POST['galeria'];
mysql_query("INSERT INTO tb_galeria (galeria) VALUES ('$galeria')");
	$pathToSave = './fotos/';
	$i = 0;
	$msg = array( );
	$arquivos = array( array( ) );
	foreach(  $_FILES as $key=>$info ) {
		foreach( $info as $key=>$dados ) {
			for( $i = 0; $i < sizeof( $dados ); $i++ ) {
				$arquivos[$i][$key] = $info[$key][$i];
			}
		}
	}
	$i = 1;
	foreach( $arquivos as $file ) {
		if( $file['name'] != '' ) {
			$arquivoTmp = $file['tmp_name'];
			$arquivo = $pathToSave.$file['name'];
			if( !move_uploaded_file( $arquivoTmp, $arquivo ) and !mysql_query("INSERT INTO tb_fotos (fotos,galeria) VALUES ('$arquivoTmp','$galeria')"))
			{
				$msg[$i] = 'Erro no upload do arquivo '.$i;
			} else {
				$msg[$i] = sprintf('Upload do arquivo %s foi um sucesso!',$i);
			}
		} else {
			$msg[$i] = sprintf('O arquivo %d nao foi preenchido',$i);
		}

		$i++;
	}


	// Imprimimos as mensagens geradas pelo sistema
	foreach( $msg as $e ) {
		printf('%s<br>', $e);
	}

}

Desde então muito agradecido.

 

Aguardando retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, este erro:

 

Warning: mysql_query(): Access denied for user 'nobody'@'localhost' (using password: NO) in /home/evandrow/public_html/galeria/recebe_cadastro.php on line 5 Warning: mysql_query(): A link to the server could not be established in /home/evandrow/public_html/galeria/recebe_cadastro.php on line 5

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ele inclui a conexao, a senha e o user estao corretos, pois uso o mesmo nos meus outros arquivos.

 

Aqui ta o Codigo completo:

 

[code<?php

if( isset( $_POST['enviar'] ) and isset( $_POST['galeria']) ) {
$galeria=$_POST['galeria'];
mysql_query("INSERT INTO tb_galeria (galeria) VALUES ('$galeria')");
$pathToSave = './fotos/';
$i = 0;
$msg = array( );
$arquivos = array( array( ) );
foreach( $_FILES as $key=>$info ) {
foreach( $info as $key=>$dados ) {
for( $i = 0; $i < sizeof( $dados ); $i++ ) {
$arquivos[$i][$key] = $info[$key][$i];
}
}
}
$i = 1;
foreach( $arquivos as $file ) {
if( $file['name'] != '' ) {
$arquivoTmp = $file['tmp_name'];
$arquivo = $pathToSave.$file['name'];
if( !move_uploaded_file( $arquivoTmp, $arquivo ) and !mysql_query("INSERT INTO tb_fotos (fotos,galeria) VALUES ('$arquivoTmp','$galeria')"))
{
$msg[$i] = 'Erro no upload do arquivo '.$i;
} else {
$msg[$i] = sprintf('Upload do arquivo %s foi um sucesso!',$i);
}
} else {
$msg[$i] = sprintf('O arquivo %d nao foi preenchido',$i);
}

$i++;
}


// Imprimimos as mensagens geradas pelo sistema
foreach( $msg as $e ) {
printf('%s<br>', $e);
}

}
$quantidade = $_POST['quantidade'];
// Abro formulário de upload
echo '<form action="recebe_cadastro.php" method="POST" enctype="multipart/form-data">';
echo '<b>Cadastro da galeria:</b><br />';
echo 'Galeria:<input type="text" name="galeria"/><br/>';
echo '<b>Cadastro das fotos:</b><br />';
// Imprimo os campos para upload, de acordo com a quantidade
for($i = 0; $i <= $quantidade; ++$i)
{
echo 'Foto'.$i.': <input type="file" name="arquivo[]"/><br/>' . "\n";
}

// Fecho formulário
echo '<br/><input type="submit" value="Cadastrar" name="enviar"/>';
echo '</form>';
?>[/code]

 

Obrigado pela ajuda q estao me servindo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom cara o erro está explicito que eh na conexão..ve direito rala uns teste ai...

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI coloquei a conexao:

Mas agora nao esta mostrando nenhum erro.

Somente grava no banco de dados na tabela tb_galeria a galeria.

Na tb_fotos, nao grava nada, nem o nome da foto nem a galeria

 

include("conexao.php");
if( isset( $_POST['enviar'] ) and isset( $_POST['galeria']) ) {
$galeria=$_POST['galeria'];
mysql_query("INSERT INTO tb_galeria (galeria) VALUES ('$galeria')");
	$pathToSave = './fotos/';
	$i = 0;
	$msg = array( );
	$arquivos = array( array( ) );
	foreach(  $_FILES as $key=>$info ) {
		foreach( $info as $key=>$dados ) {
			for( $i = 0; $i < sizeof( $dados ); $i++ ) {
				$arquivos[$i][$key] = $info[$key][$i];
			}
		}
	}
	$i = 1;
	foreach( $arquivos as $file ) {
		if( $file['name'] != '' ) {
			$arquivoTmp = $file['tmp_name'];
			$arquivo = $pathToSave.$file['name'];
			if( !move_uploaded_file( $arquivoTmp, $arquivo ) and !mysql_query("INSERT INTO tb_fotos (fotos,galeria) VALUES ('$arquivoTmp','$galeria')"))
			{
				$msg[$i] = 'Erro no upload do arquivo '.$i;
			} else {
				$msg[$i] = sprintf('Upload do arquivo %s foi um sucesso!',$i);
			}
		} else {
			$msg[$i] = sprintf('O arquivo %d nao foi preenchido',$i);
		}

		$i++;
	}


	// Imprimimos as mensagens geradas pelo sistema
	foreach( $msg as $e ) {
		printf('%s<br>', $e);
	}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi J.Filho e Lucas

 

O problema na conexao nao existe, porque ele cadastra a galria na tb_galeria.

 

J.Filho, sim aparece que foi enviado pro servidor as fotos com sucesso.

 

Acho q o problema esta ali onde eu coloco a "!mysql_query", nao sei se ta certo aquela parte.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que esse $arquivoTmp esteja passando caracteres que estão babando o mysql_query. Tenta pegar o name do arquivo, não o tmpname.

 

E outra, se continuar na mesma, dá um printf no $arquivoTmp e posta de novo!

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.