Quando a pessoa cadastra um CPF/CNPJ já existente ele mostra um alert dizendo que CPF/CNPJ já existe. Logo depois ele dá um history.back(-1) e todos os dados do formulário ficam em branco novamente.
Teria como após o alerta de CPF/CNPJ existente ele retornar para a página de cadastro com os campos preenchidos como estavam só para a pessoa retificar o CPF/CNPJ?
Aí vai o código
<? include("config.php"); if($acao == 'cadastra'){ $sql = "SELECT * FROM users where login='$CampoNumero'"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); if(mysql_num_rows($resultado)>0) { while ($linha=mysql_fetch_array($resultado)) { $CampoNumero = $linha["loginc"]; } } if($CampoNumero == $loginc){ echo"<script>alert('Este CPF/CNPJ já está cadastrado. Entre com outro CPF/CNPJ');history.back(-1);</script>"; }else{ if (${"chkCPF"}=="on"){ $nome = $_POST['nome']; $email = $_POST['email']; $ddd = $_POST['ddd']; $telefone = $_POST['telefone']; $endereco = $_POST['endereco']; $cep = $_POST['cep']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $cpf = $_POST['CampoNumero']; $cnpj = ''; $login = $_POST['CampoNumero']; $senha = $_POST['senha']; $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')"); if($sql){ echo "<script>alert('Usuário cadastrado com sucesso.'); location.href='index.php'; </script> "; } else { echo "<script>alert('Não foi possível cadastrar usuário.'); history.back(-1); </script> "; } }else{ $nome = $_POST['nome']; $email = $_POST['email']; $ddd = $_POST['ddd']; $telefone = $_POST['telefone']; $endereco = $_POST['endereco']; $cep = $_POST['cep']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $cpf = ''; $cnpj = $_POST['CampoNumero']; $login = $_POST['CampoNumero']; $senha = $_POST['senha']; $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')"); if($sql){ echo "<script>alert('Usuário cadastrado com sucesso.'); location.href='index.php'; </script> "; } else { echo "<script>alert('Não foi possível cadastrar usuário.'); history.back(-1); </script> "; } } } } else { echo" <HTML> <head> <title>$nsite</title> </head> <form action=\"cadastrar.php?acao=cadastra\" method=\"post\" onSubmit=\"MM_validateForm('nome','','R','email','','NisEmail','ddd','','RisNum','telefone','','RisNum','endereco','','R','cep','','RisNum','cidade','','R','estado','','R','CampoNumero','','RisNum','senha','','RinRange6:8');return document.MM_returnValue\"> <table width=\"100%\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr valign=\"top\"><td align=\"center\" colspan=\"2\"><h1>Cadastro de Clientes</h1></td></tr> <tr><td colspan=\"2\"> </td></tr> <tr><td class=\"texto\">Nome: </td><td><input class=\"campo\" name=\"nome\" type=\"text\" size=\"30\" maxlength=\"255\"></td></tr> <tr><td class=\"texto\">E-mail: </td><td><input class=\"campo\" name=\"email\" type=\"text\" size=\"30\" maxlength=\"100\"></td></tr> <tr><td class=\"texto\">DDD(xx) - Telefone(somente números): </td><td><input class=\"campo\" name=\"ddd\" type=\"text\" size=\"2\" maxlength=\"2\"> - <input class=\"campo\" name=\"telefone\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr> <tr><td class=\"texto\">Endereço: </td><td><input class=\"campo\" name=\"endereco\" type=\"text\" size=\"30\"></td></tr> <tr><td class=\"texto\">CEP (Somente números): </td><td><input class=\"campo\" name=\"cep\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr> <tr><td class=\"texto\">Cidade: </td><td><input class=\"campo\" name=\"cidade\" type=\"text\" size=\"30\"></td></tr> <tr><td class=\"texto\">Estado: </td><td><input class=\"campo\" name=\"estado\" type=\"text\" size=\"30\"></td></tr> <tr><td class=\"texto\"><input type=\"radio\" name=\"chkCPF\" id=\"chkCPF\" value=\"on\" checked>CPF (pessoa física) ou</td></tr> <tr><td class=\"texto\"><input type=\"radio\" name=\"chkCPF\" id=\"chkCNPJ\" value=\"off\">CNPJ (pessoa jurídica)</td></tr> <tr><td class=\"texto\">Número (CPF/CNPJ):</td><td><input class=\"campo\" type=\"text\" name=\"CampoNumero\" id=\"CampoNumero\" size=\"18\" maxlength=\"14\"></td></tr> <tr><td class=\"texto\">Senha:</td><td><input class=\"campo\" type=\"password\" name=\"senha\" id=\"senha\" size=\"18\" maxlength=\"8\"></td></tr> <tr><td class=\"texto\"></td><td><input class=\"campo\" name=\"cadastrar\" type=\"submit\" value=\"Cadastrar\"></td></tr> <tr><td class=\"texto\"></td><td><a href=java script:history.go(-1)>«« Voltar</a></td></tr> </table> </HTML> "; } ?> <HTML> <head> <script language="JavaScript" type="text/JavaScript"> <!-- function validaCPF(cpf) { erro = new String; if (cpf.length != 11) erro += "CPF deve conter 11 dígitos numéricos! \n"; var nonNumbers = /\D/; if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n"; if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ erro += "Numero de CPF invalido!" } var a = []; var b = new Number; var c = 11; for (i=0; i<11; i++){ a[i] = cpf.charAt(i); if (i < 9) b += (a[i] * --c); } if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x } b = 0; c = 11; for (y=0; y<10; y++) b += (a[y] * c--); if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; } if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){ erro +="Digito verificador com problema!"; } if (erro.length > 0){ return erro; } return true; } function validaCNPJ(CNPJ) { erro = new String; if (CNPJ.length != 14) erro += "CNPJ deve conter 14 dígitos numéricos! \n"; //substituir os caracteres que não são números if(document.layers && parseInt(navigator.appVersion) == 4){ x = CNPJ.substring(0,2); x += CNPJ.substring (3,6); x += CNPJ.substring (7,10); x += CNPJ.substring (11,14); CNPJ = x; } else { CNPJ = CNPJ.replace (".",""); CNPJ = CNPJ.replace (".",""); CNPJ = CNPJ.replace ("-",""); CNPJ = CNPJ.replace ("/",""); } var nonNumbers = /\D/; if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n"; var a = []; var b = new Number; var c = [6,5,4,3,2,9,8,7,6,5,4,3,2]; for (i=0; i<12; i++){ a[i] = CNPJ.charAt(i); b += a[i] * c[i+1]; } if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x } b = 0; for (y=0; y<13; y++) { b += (a[y] * c[y]); } if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; } if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){ erro +="Dígito verificador com problema!"; } if (erro.length > 0){ return erro; } else { return true; } } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max; var errors=''; var args=MM_validateForm.arguments; var aux=document.getElementById('senha').value; var cpfcnpj=document.getElementById('CampoNumero').value; var checkcpf=document.getElementById('chkCPF'); for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='O campo '+nm+' requer um endereço de email válido.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='O campo '+nm+' aceita somente números.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (aux.length<min || max<aux.length) errors+='- '+nm+' deve conter no mínimo '+min+' dígitos e no máximo '+max+' dígitos.\n'; } } } else if (test.charAt(0) == 'R') errors += 'O campo '+nm+' deve ser preenchido.\n'; } } if (checkcpf.checked == true){ aux = validaCPF(cpfcnpj); if (aux != true) errors += aux; } else { aux = validaCNPJ(cpfcnpj); if (aux != true) errors += aux; } if (errors) alert('Erro ao preencher o formulário:\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> </head> </html>