Ir para conteúdo

POWERED BY:

Arquivado

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

Acesso MT

Erro ao cadastrar no banco

Recommended Posts

Boa tarde!

 

Amigos.

 

O problema e o seguinte antes de eu fazer a validação do formulario no servidor o script funcionava corretamente depois que inclementei a validação de pau mesmo.

 

Dei um print na SQL pra ver se ta passando os dados e está ok!, mas não esta gravando, verifiquei todo o código amanhã inteira e nada, usei ate o DW para gerar todo o codigo do da sql copie e colei e nada, alguem poderia dar uma luz sobre o que ta ocorrendo

 

o script da validação ta aqui

 

<?php
// Conexão de Base de Dados
$nome_host="localhost";
$usuario="root";
$senha="";
$base_dados="acessomt01";
//componentes de conexao ao MySQL
$conexao = mysql_connect($nome_host,$usuario,$senha) 
or die ("Não foi possível se conectar ao base de dados!!!<br>Verifique a os dados para a conexão com o servidor. ");
mysql_select_db($base_dados,$conexao);
?>
<?php require_once "valida_cpf.php";?>
		
<?php 
		  
$responsavel   	= strtoupper($_POST['responsavel']);
$cpf			  = $_POST["cpf"];
$como_conheceu  = $_POST["como_conheceu"];
$razao_social   = $_POST["razao_social"];
$nome_fantasia  = $_POST["nome_fantasia"];
$cnpj   		= $_POST["cnpj"];
$cep   			= $_POST["cep"];
$estado		  = $_POST["estado"];
$cidade		  = $_POST["cidade"];
$bairro   		= $_POST["bairro"];
$endereco   	= $_POST["endereco"];
$numero   		= $_POST["numero"];
$complemento	  = $_POST["complemento"];
$email   		= $_POST["email"];
$site   		= $_POST["site"];
$ddd   			= $_POST["ddd"];
$fone   		= $_POST["fone"];
$fone2   		= $_POST["fone2"];
$fax   			= $_POST["fax"];
$fax   			= $_POST["fax"];
$login		  = $_POST["login"];
$senha		  = $_POST["senha"];
$confirmacao   	= $_POST["confirmacao"];
$status   		= "status";
$plano   		= "plano";
$header   		= "header";
$servidor		  = "servidor";
$espaco_disco	  = "espaco_disco";
$acessos   		= "acessos";
		
// elimina os erros mais comuns na digitação de e-mails
$email = str_replace (" ", "", $email);
$email = str_replace ("/", "", $email);
$email = str_replace ("@.", "@", $email);
$email = str_replace (".@", "@", $email);
$email = str_replace (",", ".", $email);
$email = str_replace (";", ".", $email);
$erro=0;

// verifica nome
if(empty($responsavel))
{
	$erro=1;
	$msg ="Por favor, digite seu nome corretamente.";
}
// Verica se o cpf é vaáido
elseif(strlen(cpf_errado($cpf)))
{
	$erro=1;
	$msg ="CPF inválido! Digite corretamente.";
}
// verifica razao social
elseif(empty($razao_social))
{
	$erro=1;
	$msg ="Por favor, digite a razao social da empresa corretamente.";
}

// verifica nome fantasia
elseif(empty($nome_fantasia))
{
	$erro=1;
	$msg ="Por favor, digite o nome fantasia da empresa corretamente.";
}
// verifica estado
elseif(strlen($cep)!=8 || !is_numeric($cep))
{
	$erro=1;
	$msg ="Por favor, digite o CEP de sua cidade.";
}

// verifica estado
elseif(strlen($estado)!=2)
{
	$erro=1;
	$msg ="Por favor, escolha seu estado.";
}
// verifica nome cidade
elseif(empty($cidade ))
{
	$erro=1;
	$msg ="Por favor, digite o nome de sua cidade corretamente.";
}
// verifica nome bairro
elseif(empty($bairro))
{
	$erro=1;
	$msg ="Por favor, digite o nome de seu bairro corretamente.";
}
// verifica nome endereço
elseif(empty($endereco))
{
	$erro=1;
	$msg ="Por favor, digite seu endereço corretamente.";
}
// verifica numero
elseif(empty($numero))
{
	$erro=1;
	$msg ="Por favor, digite o numero corretamente.";
}
// verifica email
elseif (strlen($email)<8 || substr_count($email, "@")!=1  || substr_count($email, ".")==0)
{
	$erro=1;
	$msg ="Por favor, digite seu e-mail corretamente.";
}
// verifica fone
elseif(strlen($ddd)!=2)
{
	$erro=1;
	$msg ="Por favor, digite o DDD corretamnte Ex. (65) para o estado de Mato Grosso.";
}
// verifica fone
elseif(strlen($fone)!=8)
{
	$erro=1;
	$msg ="Por favor, digite o telefone corretamente, somente números.";
}
// verifica login
elseif(strlen($login)<5 || strlen($login)>15)
{
	$erro=1;
	$msg = "O nome de usuário (login) deve ter entre 5 e 15 caracteres.";
}
// verifica login
elseif(strlen($login)<5 || strlen($login)>15)
{
	$erro=1;
	$msg = "O nome de usuário (login) deve ter entre 5 e 15 caracteres.";
}

elseif (strstr ($login, ' ')!=FALSE)
{
	$erro=1;
	$msg = "O nome de usuário (login) não pode conter espaços em branco.";
}

// verifica senha
elseif(strlen($senha)<5 || strlen($senha)>15)
{
	$erro=1;
	$msg = "A senha deve ter entre 5 e 15 caracteres";
}

elseif (strstr ($senha, ' ')!=FALSE)
{
	$erro=1;
	$msg = "A senha não pode conter espaços em branco.";
}

// compara senha com a confirmação da senha
elseif ($senha != $confirmacao)
{
	$erro=1;
	$msg = "Você digitou duas senhas diferentes.";
}

// se ocorreu erro, exibe a mensagem de erro
if($erro)
{
	echo "<html><body>";
	echo "<p align=center>$msg</p>";
	echo "<p align=center><a href='java script:history.back()'>Voltar</a></p>";
	echo "</body></html>";
}
else
{
	$senha = md5($senha);//pega a senha criptografo em md5 depois de conferida
	
	// trato os dados aqui para gravar no banc
	$sql = "INSERT INTO cadastros_empresas (id_empresa, responsavel, cpf, como_conheceu, razao_social, nome_fantasia, cnpj, cep, estado, cidade, bairro, endereco, numero, complemento, email, site, ddd, fone, fone2, fax, login, senha, confirmacao, status, plano, header, servidor, espaco_disco, acessos)	VALUES 		
		   (NULL, '$responsavel', '$cpf', '$como_conheceu','$razao_social', '$nome_fantasia', '$cnpj', '$cep', '$estado', '$cidade', '$bairro', '$endereco', '$numero', '$complemento', '$email', '$site', '$ddd', '$fone', '$fone2', '$fax', '$login', '$senha', '$confirmacao', '$status', '$plano','$header', '$servidor', '$espaco_disco', '$acessos')"; 
	
	$query = mysql_query($sql) OR DIE (mysql_error()); 
	
	echo "<html><body>";
	echo "<p align=center>Seu cadastro foi realizado com sucesso!</p>";
	echo "</body></html>";
}
?>

vou colocar aqui a do banco em caso de conferir os dados se estao batendo

CREATE TABLE `cadastros_empresas` (
  `id_empresa` int(11) NOT NULL auto_increment,
  `responsavel` varchar(80) NOT NULL,
  `cpf` varbinary(14) NOT NULL,
  `como_conheceu` varchar(45) NOT NULL,
  `razao_social` varchar(45) NOT NULL,
  `nome_fantasia` varchar(80) NOT NULL,
  `cnpj` bigint(14) NOT NULL,
  `cep` bigint(8) NOT NULL,
  `estado` varchar(2) NOT NULL,
  `cidade` varchar(80) NOT NULL,
  `bairro` varchar(100) NOT NULL,
  `endereco` varchar(100) NOT NULL,
  `numero` varchar(30) NOT NULL,
  `complemento` varchar(100) NOT NULL,
  `email` varchar(60) NOT NULL,
  `site` varchar(80) NOT NULL,
  `ddd` bigint(2) NOT NULL,
  `fone` bigint(8) NOT NULL,
  `fone2` bigint(20) NOT NULL,
  `fax` bigint(20) NOT NULL,
  `login` varchar(15) NOT NULL,
  `senha` char(32) NOT NULL,
  `confirmacao` varchar(15) NOT NULL,
  `status` varchar(20) NOT NULL,
  `plano` varchar(45) NOT NULL,
  `data_inicio` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `header` varchar(200) NOT NULL,
  `servidor` varchar(20) NOT NULL,
  `espaco_disco` varchar(20) NOT NULL,
  `acessos` int(11) NOT NULL,
  PRIMARY KEY  (`id_empresa`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente está tudo correto, a não ser por:

 

" VALUES

(NULL, '$responsavel', '$cpf, '$como_conheceu',"

 

Você abriu aspas simples em $cpf mas esqueceu de fechar ;)

 

Dica: use mysql_query($sql) OR DIE (mysql_error()); - Assim o mysql te retornas os erros, se houver ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente está tudo correto, a não ser por:

 

" VALUES

(NULL, '$responsavel', '$cpf, '$como_conheceu',"

 

Você abriu aspas simples em $cpf mas esqueceu de fechar ;)

 

Dica: use mysql_query($sql) OR DIE (mysql_error()); - Assim o mysql te retornas os erros, se houver ;)

vsmoraes

 

Obrigado pela dica corrige a aspas simples e coloquei o código abaixo que voce citou e me retornou

 

No database selected

 

Vou verificar porque não encontrou minha base de dados muito obrigado pela dica!!!

 

Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo que é auto incremento não deve aparecer no insert

 

 

INSERT INTO cadastros_empresas (
responsavel, cpf, como_conheceu, razao_social, nome_fantasia, cnpj, cep, estado, cidade, bairro, endereco, numero, complemento, email, site, ddd, fone, fone2, fax, login, senha, confirmacao, status, plano, header, servidor, espaco_disco, acessos) 
VALUES (
'$responsavel', '$cpf, '$como_conheceu', '$razao_social', '$nome_fantasia', '$cnpj', '$cep', '$estado', '$cidade', '$bairro, '$endereco', '$numero', '$complemento', '$email', '$site', '$ddd', '$fone', '$fone2', '$fax', '$login', '$senha', '$confirmacao', '$status', '$plano','$header', '$servidor', '$espaco_disco', '$acessos')");

 

tenta assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o conteudo do aarquivo conexao.php pra eu dar um olhada?

 

aparetemente está tudo correto, fazendo as modificações dos posts anteriores...

 

Att,

 

Leandro Barral[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo que é auto incremento não deve aparecer no insert

 

 

INSERT INTO cadastros_empresas (
 responsavel, cpf, como_conheceu, razao_social, nome_fantasia, cnpj, cep, estado, cidade, bairro, endereco, numero, complemento, email, site, ddd, fone, fone2, fax, login, senha, confirmacao, status, plano, header, servidor, espaco_disco, acessos) 
 VALUES (
 '$responsavel', '$cpf, '$como_conheceu', '$razao_social', '$nome_fantasia', '$cnpj', '$cep', '$estado', '$cidade', '$bairro, '$endereco', '$numero', '$complemento', '$email', '$site', '$ddd', '$fone', '$fone2', '$fax', '$login', '$senha', '$confirmacao', '$status', '$plano','$header', '$servidor', '$espaco_disco', '$acessos')");

 

tenta assim

Errado napraia, o campo que é autoincremento PODE aparecer no insert, é só usar como o Acesso MT já havia feito (usando NULL no value dele).

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o conteudo do aarquivo conexao.php pra eu dar um olhada?

 

aparetemente está tudo correto, fazendo as modificações dos posts anteriores...

 

Att,

 

Leandro Barral[]'..

Leandro Barral

 

Refiz minha base e deu certo agora, mas o codigo era o mesmo, não sei onde tava mas valeu pela dica,

 

mas uma pergunta como eu faço para verificar se o usuario ja existe, sou novato em php e precisava de ajuda de voces pra verificar isso.

 

o codigo da base

<?php
// Conexão de Base de Dados
$nome_host="localhost";
$usuario="root";
$senha="";
$base_dados="acessomt01";
//componentes de conexao ao MySQL
$conexao = mysql_connect($nome_host,$usuario,$senha) 
or die ("Não foi possível se conectar ao base de dados!!!<br>Verifique a os dados para a conexão com o servidor. ");
mysql_select_db($base_dados,$conexao);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra verificar se o login já existe:

$busca = "SELECT `login` FROM `cadastros_empresas` WHERE `login` = `$login`";
if (mysql_num_rows(mysql_query($busca)) > 0) {
echo "Já existe!";
} else {
echo "Não existe!";
}

Com isso você só vai verificar se o LOGIN tá repetido, pra verificar outros dados é só mudar ali o $busca... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exmplo pra ti

 

$sql = mysql_query("SELECT * FROM usuario = 'fulano'");

if(mysql_num_rows($sql) == true){

echo "usuario ja cadastrado";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra verificar se o login já existe:

$busca = "SELECT `login` FROM `cadastros_empresas` WHERE `login` = `$login`";
if (mysql_num_rows(mysql_query($busca)) > 0) {
echo "Já existe!";
} else {
echo "Não existe!";
}

Com isso você só vai verificar se o LOGIN tá repetido, pra verificar outros dados é só mudar ali o $busca... ;)

 

um exmplo pra ti

 

$sql = mysql_query("SELECT * FROM usuario = 'fulano'");

if(mysql_num_rows($sql) == true){

echo "usuario ja cadastrado";

}

Valeu amigos muito obrigado a todos de coração mesmo muito obrigado vou incrementar no código caso não consiga eu abro outro tópico

 

Abraços e parabéns a todos que me ajudou de uma forma de outra http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Errado napraia, o campo que é autoincremento PODE aparecer no insert, é só usar como o Acesso MT já havia feito (usando NULL no value dele).

para que você vai colocar ele na lista e colocar null como valor se não precisa?

valeu pela dica, apesar de que nunca usarei, mas é bom saber que existe

 

o importante é que o cara conseguiu fazer funcionar

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.