Ir para conteúdo

POWERED BY:

Arquivado

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

Adriano Programmer

[Resolvido] se a validação der errada, não apagar dados do form.

Recommended Posts

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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>";
elseif (condição)
echo "<script>history.back(); alert('Preencha o campo xxxxx.')</script>";
elseif(condição)
echo "<script>history.back(); alert('Preencha o campo yyyyyyy.')</script>";
else
envia formulario / cadastra no banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

http://www.php.net/session

Compartilhar este post


Link para o post
Compartilhar em outros sites

$_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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 . "\"";} ?>/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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.