Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera, eu tenho um formulário de cadastro, só que estou com o seguinte problema:
Entre os dados do form existe o campo cpf, que é validado juntamente com o resto do formulário, só que a validação é feita no submit...Se passar pela validação ele continua o cadastro em outra pagina, "se não passar pela validação ele tem que imprimir uma mensagem de erro dizendo para digitar o cpf correto"...
Postei na parte de php porque minha validação de cpf é em php...
Por favor me ajudem, estou precisando muito urgente resolver este problema...
eu estou fazendo assim...
CODE
<?php.................
..................
//verifica se o cpf é válido
$pontuacao = array(".","-");
$cpf = str_replace($pontuacao,"",$cpf);
if (isset($cpf)) {
if (validarCPF($cpf)) {
//converte a data de nascimento (datanasc) para o formato do banco
$datanasc = converte_data($datanasc);
//cria a sql para inserir no banco de dados
$sql = "INSERT INTO CLIENTES (clinome,clilogin,clisenha,cliendereco,clinumero,clicomple,clibairro,clicep,clic
idade,cliestado,clidatanasc,clisexo,clitelefone,clicelular,cliemail,clisite,clicp
f,clirg,clicnh,clifumante,clinomepai,clinomemae)";
$sql.="VALUES ('".$nome."','".$login."','".$senha."','".$endereco."','".$numero."','".$complemento."','".$bairro."','".$cep."','".$cidade."','".$estado."','".$datanasc."','".$sexo."','".$telefone."','".$celular."','".$email."','".$site."','".$cpf."','".$rg."','".$cnh."','".$fumante."','".$nomepai."','".$nomemae."')";
//grava os dados no banco, ou imprime erro
$resultado = ibase_query($conexao,$sql) or die ("Impossível gravar os dados");
//envia commit e fecha a conexão com o banco de dados
ibase_commit($conexao);
ibase_close($conexao);
//redireciona para o cadastro_passo2.php
//header("Location: cadastro_passo2.php");
echo "<script>window.location = 'cadastro_passo2.php'</script>";
}
else {
echo "CPF Inválido";
}
}
}
?>
Mas o problema é que se o valor do cpf estiver errado ele apaga todos os dados que estão nos campos, e eu não quero que apague, eu quero que os dados fiquem nos campos, mas mostre a mensagem para o usuário corrigir o valor do cpf...
Desde já...
Obrigado pela ajuda...
Veja se ajuda:
Bom dia beraldo...
obrigado pelo link...e a respeito lá no link você comenta sobre:
"Você pode colocar em variáveis de sessão os valores recebidos.
No value dos inputs, insira essas variáveis de sessão, se já existirem, claro (use isset() para verificar a existência delas)."
Como eu posso colocar em variaveis de sessão os valores?
Isso abaixo é colar em variaveis de sessão?
CODE
<input type="text" id="nome" name="nome" class="input_text" <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { echo "value=\"" . $nome . "\"";} ?>/>
Obrigado pela atenção...
tem uma maneira mais facil de fazer isso eh voltando a pagina com js
exemplo
if (strlen($nome) < 1)
echo "<script>history.back(); alert('Preencha seu nome.')</script>";echo "<script>history.back(); alert('Preencha o campo xxxxx.')</script>";echo "<script>history.back(); alert('Preencha o campo yyyyyyy.')</script>";Como eu posso colocar em variaveis de sessão os valores?
$_SESSION['nome'] = "Beraldo";
Coloque session_start() no início de todos os scripts que usarão a sessão.
Veja mais em:
Bom dia Goruks...
O que seria o strlen???no caso não precisa colocar...
echo "<script>history.**php**.back(); alert('Preencha seu nome.')</script>";
Obrigado pela atenção...
>
$_SESSION['nome'] = "Beraldo";
Coloque session_start() no início de todos os scripts que usarão a sessão.
No caso eu coloco:
**<?php**
session_start();
if (isset($_GET["acao"]) && $_GET["acao"]=="enviar"){
$nome = $_POST['nome'];
$login = $_POST['login'];
$senha = $_POST['senha'];
...............................
?>
e depois eu coloco em que parte session?
$_SESSION['nome'] = "Beraldo";
.......
Muito obrigado pelas respostas rápidas e pela atenção...
http://zendold.lojcomm.com.br/fvalidator/
da uma olhada, talvez te ajude para validar em JS
em php
http://www.phpclasses.org/browse/package/1338.html
só para dar uma facilitada na tua vida.
Boa tarde ze_violeiro...
Eu preciso que seja em php...
Só que o link que me passou e não entendi como abrir o fonte...
Se puder explicar...precisa se cadastrar?
agradeço desde já....
Boa tarde a todos...
Estou aqui para agradecer a ajuda de todos...
Consegui com o método que o beraldo tinha me passado anteriormente...
Muito obrigado pela atenção...
abaixo segue o código...
Coloque dentro da input do campo:
exemplo:
**<input name="nome" type="text" id="nome" maxlength="50" size="52" <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { echo "value=\"" . $nome . "\"";} ?>/>**>
Bom dia Goruks...
O que seria o strlen???no caso não precisa colocar...
echo "<script>history.**php**.back(); alert('Preencha seu nome.')</script>";
Obrigado pela atenção...
eh uma funçao do php que conta os caracteres de uma string
no caso contei a variavel $nome que teria que ser recebida do formulario e verifico se ela é maior que 1 caracter pq se for 0 sigifica que nao digitaram nada ali
Faça um if:
if (!ValidarCPF($cef))
{
//exiba o erro
}