Ir para conteúdo

POWERED BY:

Arquivado

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

WEBCHARLES

[Resolvido] Id de uma tabela gravada em outra

Recommended Posts

Boa tarde

 

 

Tenho um multiulpload em jquery e php, cadastro as imagens no banco de dados tranquilamente, o nome da tabela onde essas imagens são cadastradas chama-se (revela_fotos), porém, para essas imagens serem cadastradas é necessário que o usuario seja cadastrado no site, logo, esse cadastro irá para um banco de dados, o qual guardará os dados como por exemplo: login e senha, o nome dessa tabela é (cadastro).

 

O que eu preciso é: Fazer como o que o id da tebela cadastro o qual o usuario é cadastrado seja gravado na tabela revela_fotos, isso quando o usuario cadastrado, logar e enviar as fotos selecionadas, em seguida essas fotos serão enviadas para o banco de dados e salvas em sua tabela (revela_fotos) com o id auoincrement e com o id da tabela cadstro a qual chamei de id_cadastro, para que assim as imagens emitidas possam ser identificadas pelos ids respectivos (cadastro).

 

segue a linha de codigo da função:

 

<?php
session_start();

mysql_connect ("localhost", "root", "") or die (mysql_error());

mysql_select_db ("objetiva") or die (mysql_error());


?>

<?php

function upload($campo, $arquivo, $maximo = 5242880, $permitidos = array())
{
$tmp_name = $campo['tmp_name'];
$error    = $campo['error'];
$size     = $campo['size'];
$type     = $campo['type'];	


$mostra_cpf = '2011';	
$pasta = date("d-m-y");	
$dir = "revelacao_fotos/$mostra_cpf/".$pasta;
mkdir("$dir", 0777, true); 



if ((!is_uploaded_file($tmp_name)) || ($error != 0) || ($size == 0) || ($size > $maximo))
	return false; // Não passou pela validação básica

if ((is_array($permitidos)) && (!empty($permitidos))) {
	if (!in_array($type, $permitidos))
		return false; // tipo de arquivo não permitido
}

// atribui


//	while (move_uploaded_file($tmp_name, $dir."/".  $arquivo)) chmod($dir.$arquivo, 0777); {


// faz upload	



	if (move_uploaded_file($tmp_name, $dir."/".  $arquivo)) chmod($dir.$arquivo, 0777); {			

	// aguarda




$sql = "select * from cadastro";    
$result = mysql_query($sql) or die(mysql_error());


if ($email == $_SESSION['session_email'] and $senha == $_SESSION['session_senha']  )  {

	$recebe = mysql_fetch_assoc($result);
	$id = $recebe['id'];


	mysql_query("INSERT INTO revelacao_fotos (arquivo, id_cadastro) VALUES ('$arquivo','$id')");
	// Cria uma query MySQL
			//$sql = "INSERT INTO 'revelacao_fotos' ('nome','foto') VALUES ( '". $nome."', '". $foto."')";
			// Executa a consulta
		//	$query = mysql_query($sql);				

}


}

return true;


}


$campo   = $_FILES['Filedata'];

$arquivo = $campo['name'];

if(true){

echo upload($campo, $arquivo);

}

?>

 

Este só tá gravando o 1º ID do select, se entrar como outro usuário e enviar fotos continua gravando com o mesmo ID, ou seja o 1ª já gravado.

 

Já tentei por session e nada, não sei mais oque fazer.

 

 

Só preciso disso para terminar o site.

 

Ats,

 

Charles Moreno

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Charles,

 

nesta linha:

 

$sql = "select * from cadastro";

 

Você está selecionando todos os registros desta tabela, o que consequentemente te trará o primeiro ID na atribuição logo abaixo da variável $id.

 

É neste SELECT que você deve identificar o usuário que está autenticado acrescentando condições à esta sentença, desta forma, por exemplo:

 

$sql = "SELECT * FROM cadastro WHERE email = '" . $_SESSION['session_email'] . "'";

 

Veja se você terá o resultado esperado.

 

[]'s

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.