Acesso MT 2 Denunciar post Postado Julho 11, 2008 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
vsmoraes 0 Denunciar post Postado Julho 11, 2008 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
Acesso MT 2 Denunciar post Postado Julho 11, 2008 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
NaPraia 12 Denunciar post Postado Julho 11, 2008 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
Leandro Barral 1 Denunciar post Postado Julho 11, 2008 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
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 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
Acesso MT 2 Denunciar post Postado Julho 11, 2008 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
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 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
Leandro Barral 1 Denunciar post Postado Julho 11, 2008 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
Acesso MT 2 Denunciar post Postado Julho 11, 2008 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
Leandro Barral 1 Denunciar post Postado Julho 11, 2008 Estamos aqui pra isso. Abraço e Boa Sorte Leandro Barral []'.. Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Julho 11, 2008 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