Ir para conteúdo

POWERED BY:

Arquivado

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

matheushirota

PHP para cadastro de clientes não salva no BD

Recommended Posts

<?php
	
	$nome = $_POST['nome'];
	$email = $_POST['email'];
	$telefone = $_POST['telefone'];
	$celular = $_POST['celular'];
	$endereco = $_POST['endereco'];
	$numero = $_POST['numero'];
	$bairro = $_POST['bairro'];
	$cidade = $_POST['cidade'];
	$estado = $_POST['uf'];
	$preferencia = $_POST['preferencia'];
	$foto_perfil = $_FILES['image1'];
	$senha1 = $_POST['senha1'];
	$senha2 = $_POST['senha2'];
	$email_hash = md5(sha1($email));
	$situacao = 0;
	
	if($senha1 == $senha2){
		$array1 = array( "á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç", "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" );
		$array2 = array( "a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c", "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" );
		$preferencia1 = str_replace($array1, $array2, $preferencia);
		$caracteres_salt = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		$salt = substr(str_shuffle($caracteres_salt),0,30);
		include "codifica.php";
		$nome_encripted = encrypt($nome, $salt);
		$email_encripted = encrypt($email, $salt);
		$telefone_encripted = encrypt($telefone, $salt);
		$celular_encripted = encrypt($celular, $salt);
		$endereco_encripted = encrypt($endereco, $salt);
		$numero_encripted = encrypt($numero, $salt);
		$bairro_encripted = encrypt($bairro, $salt);
		$cidade_encripted = encrypt($cidade, $salt);
		$estado_encripted = encrypt($estado, $salt);
		$preferencia_encripted = encrypt($preferencia, $salt);
		$senha1 = crypt($senha1, $salt);
		mysql_connect("localhost", "matheush_bd", "SENHA") or die('Não foi possível cadastrar seu usúario, tente novamente mais tarde');
		mysql_select_db("matheush_valevendas");
		$sql1 = "SELECT * FROM cadastros WHERE email_hash = '$email_hash'";
		$qry1 = mysql_query($sql1);
		$num1 = mysql_num_rows($qry1);
		if($num1 == 1){
			echo "<script> alert('E-mail ja cadastro, faca login ou recupere sua senha'); window.history.go(-1); </script>";			
		}else{
			$sql2 = "INSERT INTO cadastros (nome, email, telefone, celular, endereco, numero, bairro, cidade, estado, preferencia, senha, email_hash, situacao) VALUES ('$nome_encripted', '$email_encripted', '$telefone_encripted', '$celular_encripted', '$endereco_encripted', '$numero_encripted', '$bairro_encripted', '$cidade_encripted', '$estado_encripted', '$preferencia_encripted', '$senha1', '$email_hash', '$situacao') OR DIE ('NÃO FOI POSSÍVEL CADASTRAR')" ;
		}if(mysql_query($sql2)){
			$sql3 = "SELECT * FROM cadastros WHERE email_hash = '$email_hash' ORDER BY id DESC LIMIT 1";
			$qry3 = mysql_query($sql3);
			$res = mysql_fetch_array($qry3);
			$id_cadastro = $res["id"];
		}if(!empty($foto_perfil["name"])){
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_perfil["name"], $ext);
			$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
			$caminho_imagem = "profiles/" . $nome_imagem;
			move_uploaded_file($foto_perfil["tmp_name"], $caminho_imagem);
			$sql4 = "INSERT INTO tbl_imagem (id_cadastro, imagem) VALUES ('$id_cadastro', '$nome_imagem')";
		}if(mysql_query($sql4)){
			mysql_connect("localhost", "matheush_bd2", "SENHA") or die('Não foi possível cadastrar seu usúario, tente novamente mais tarde');
			mysql_select_db("matheush_vendasvale");
			$sql5 = "INSERT INTO valedasvendas (id, user) VALUES ('$id_cadastro', '$salt')";
		}if(mysql_query($sql5)){
			$headers = "MIME-Version: 1.1\n";
			$headers .= "X-Priority: 1\n";
			$headers .= "From: Site Vale Vendas <cadastros@matheushirota.com.br>\n";
			$headers .= "Return-Path: Site Vale Vendas <cadastros@matheushirota.com.br>\n";
			$headers .= "Reply-To: cadastros@matheushirota.com.br\n";
			$url = sprintf('id=%s&email=%s',$id_cadastro, $email_hash);
			$mensagem = 'Para confirmar seu cadastro acesse o link, se o link nao funcionar, copie-o e cole no seu navegador:'."\n";
			$mensagem .= sprintf('http://www.matheushirota.com.br/ativar.php?%s',$url);
			mail( $email, 'Confirmacao de cadastro Vale Vendas', $mensagem, $headers );
			echo "<h3>Acesse seu e-mail e ative o seu cadastro pelo link enviado, verifique na Caixa de Entrada (Imbox) ou no Lixo Eletrônico (SPAM)</h3>";
			include "index.html";
		}else{
			echo "<script> alert('Erro no cadastro, tente novamente mais tarde'); window.history.go(-1);</script>";
		}
		}else{
		echo "<script> alert('Senhas Diferentes!'); window.history.go(-1);</script>\n";		
	}
	

Galera, estou com um problema, tenho um php para cadastro de clientes, se vocês notarem o código, vão ver que ele faz 3 cadastros em tabelas diferentes:

 

Primeiro ele cadastro o usuário na tabela cadastros

Segundo ele cadastra o nome da imagem na tabela tbl_imagem

Terceiro ele cadastra o id do cadastro e o salt utilizado para criptografar as informações

 

Ele faz o segundo, e o terceiro porém o primeiro e o principal ele não cadastra, e também não retorna nenhum erro!

 

eu somente alterei a senha do bd para postar aqui, o resto está identico

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A query tem uma sintaxe errada...

$sql2 = "INSERT INTO cadastros (nome, email, telefone, celular, endereco, numero, bairro, cidade, estado, preferencia, senha, email_hash, situacao) VALUES ('$nome_encripted', '$email_encripted', '$telefone_encripted', '$celular_encripted', '$endereco_encripted', '$numero_encripted', '$bairro_encripted', '$cidade_encripted', '$estado_encripted', '$preferencia_encripted', '$senha1', '$email_hash', '$situacao') OR DIE ('NÃO FOI POSSÍVEL CADASTRAR')" ;
        }if(mysql_query($sql2))

Isto dai está se tranformando nisto:

mysql_query("INSERT INTO cadastros (nome, email, telefone, celular, endereco, numero, bairro, cidade, estado, preferencia, senha, email_hash, situacao) VALUES ('$nome_encripted', '$email_encripted', '$telefone_encripted', '$celular_encripted', '$endereco_encripted', '$numero_encripted', '$bairro_encripted', '$cidade_encripted', '$estado_encripted', '$preferencia_encripted', '$senha1', '$email_hash', '$situacao') OR DIE ('NÃO FOI POSSÍVEL CADASTRAR')")

Só que o "OR DIE(...) não faz parte da query, ele sempre deve ir fora...

mysql_query("INSERT INTO cadastros (nome, email, telefone, celular, endereco, numero, bairro, cidade, estado, preferencia, senha, email_hash, situacao) VALUES ('$nome_encripted', '$email_encripted', '$telefone_encripted', '$celular_encripted', '$endereco_encripted', '$numero_encripted', '$bairro_encripted', '$cidade_encripted', '$estado_encripted', '$preferencia_encripted', '$senha1', '$email_hash', '$situacao')")OR DIE ('NÃO FOI POSSÍVEL CADASTRAR')

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
	
	$nome = $_POST['nome'];
	$email = $_POST['email'];
	$telefone = $_POST['telefone'];
	$celular = $_POST['celular'];
	$endereco = $_POST['endereco'];
	$numero = $_POST['numero'];
	$bairro = $_POST['bairro'];
	$cidade = $_POST['cidade'];
	$estado = $_POST['uf'];
	$preferencia = $_POST['preferencia'];
	$foto_perfil = $_FILES['image1'];
	$senha1 = $_POST['senha1'];
	$senha2 = $_POST['senha2'];
	$email_hash = md5(sha1($email));
	$situacao = 0;
	
	if($senha1 == $senha2)
	{
		$array1 = array( "á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç", "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" );
		$array2 = array( "a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c", "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" );
		$preferencia1 = str_replace($array1, $array2, $preferencia);
		$caracteres_salt = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		$salt = substr(str_shuffle($caracteres_salt),0,30);
		include "codifica.php";
		$nome_encripted = encrypt($nome, $salt);
		$email_encripted = encrypt($email, $salt);
		$telefone_encripted = encrypt($telefone, $salt);
		$celular_encripted = encrypt($celular, $salt);
		$endereco_encripted = encrypt($endereco, $salt);
		$numero_encripted = encrypt($numero, $salt);
		$bairro_encripted = encrypt($bairro, $salt);
		$cidade_encripted = encrypt($cidade, $salt);
		$estado_encripted = encrypt($estado, $salt);
		$preferencia_encripted = encrypt($preferencia, $salt);
		$senha1 = crypt($senha1, $salt);
		mysql_connect("localhost", "matheush_bd", "PASSWORD") or die('Não foi possível cadastrar seu usúario, tente novamente mais tarde');
		mysql_select_db("matheush_valevendas");
		$sql1 = "SELECT * FROM cadastros WHERE email_hash = '$email_hash'";
		$qry1 = mysql_query($sql1);
		$num1 = mysql_num_rows($qry1);
		
		if($num1 == 1)
		{
			echo "<script> alert('E-mail ja cadastro, faca login ou recupere sua senha'); window.history.go(-1); </script>";			
		}
		else
		{
			$sql2 = "INSERT INTO cadastros (nome, email, telefone, celular, endereco, numero, bairro, cidade, estado, preferencia, senha, email_hash, situacao) VALUES ('$nome_encripted', '$email_encripted', '$telefone_encripted', '$celular_encripted', '$endereco_encripted', '$numero_encripted', '$bairro_encripted', '$cidade_encripted', '$estado_encripted', '$preferencia_encripted', '$senha1', '$email_hash', '$situacao')";
			
			if(mysql_query($sql2))
			{
				$sql3 = "SELECT * FROM cadastros WHERE email_hash = '$email_hash' ORDER BY id DESC LIMIT 1";
				$qry3 = mysql_query($sql3);
				$res = mysql_fetch_array($qry3);
				$id_cadastro = $res["id"];
			}
			if(!empty($foto_perfil["name"]))
			{
				preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_perfil["name"], $ext);
				$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
				$caminho_imagem = "profiles/" . $nome_imagem;
				move_uploaded_file($foto_perfil["tmp_name"], $caminho_imagem);
				$sql4 = "INSERT INTO tbl_imagem (id_cadastro, imagem) VALUES ('$id_cadastro', '$nome_imagem')";
			}
			if(mysql_query($sql4))
			{
				mysql_connect("localhost", "matheush_bd2", "PASSWORD") or die('Não foi possível cadastrar seu usúario, tente novamente mais tarde');
				mysql_select_db("matheush_vendasvale");
				$sql5 = "INSERT INTO valedasvendas (id, user) VALUES ('$id_cadastro', '$salt')";
			}
			if(mysql_query($sql5))
			{
				$headers = "MIME-Version: 1.1\n";
				$headers .= "X-Priority: 1\n";
				$headers .= "From: Site Vale Vendas <cadastros@matheushirota.com.br>\n";
				$headers .= "Return-Path: Site Vale Vendas <cadastros@matheushirota.com.br>\n";
				$headers .= "Reply-To: cadastros@matheushirota.com.br\n";
				$url = sprintf('id=%s&email=%s',$id_cadastro, $email_hash);
				$mensagem = 'Para confirmar seu cadastro acesse o link, se o link nao funcionar, copie-o e cole no seu navegador:'."\n";
				$mensagem .= sprintf('http://www.matheushirota.com.br/ativar.php?%s',$url);
				mail( $email, 'Confirmacao de cadastro Vale Vendas', $mensagem, $headers );
				echo "<h3>Acesse seu e-mail e ative o seu cadastro pelo link enviado, verifique na Caixa de Entrada (Imbox) ou no Lixo Eletrônico (SPAM)</h3>";
				include "index.html";
			}
			else
			{
				echo "<script> alert('Erro no cadastro, tente novamente mais tarde'); window.history.go(-1);</script>";
			}
		}

	}
	else
	{
		echo "<script> alert('Senhas Diferentes!'); window.history.go(-1);</script>\n";	
	}

Segue o código arrumado, porém ainda não cadastra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não cadastra é porque AINDA tem um erro de sintexe... use o mysql_error() para descobrir qual é...

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.