Ir para conteúdo

POWERED BY:

Arquivado

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

donny_

Validar FORM sem limpa-lo

Recommended Posts

Bom gente, to com uma duvida, to fazendo a validacao de meu formulario por PHP, na mesma pagina em que esta o form no caso "cadastro.php", so que quando ele valida o form, se tiver algum campo inválido, ele limpa todo os campos ja preenchido... Como faria para que ele validasse sem limpar os campos?? obrigado pela atenção de todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar JavaScript para validações simples, apesar de eu não gostar dessa linguagem, JS + php fica bastante funcional em formulários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tiu uiLL, não estava querendo usar JS pelo fato do usuario poder desativar o JAVA, inserindo entao qualquer tipo de dado no DB, estou validando tudo por PHP, mais quando da algum erro, o formulario é todo limpo... segue abaixo uma parte do codigo para vcs entenderem:

 

<form name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">   
<table width="550" class="form">
	<tr>
   <td colspan="4" style="height:25px; font-size:10px; text-align:right;">Atenção:<br />
	Os campos marcados com (*) são de preenchimento obrigátorio.</td>
	</tr>
	<tr>
   <td colspan="4" align="center">
 	<?php 

	/* Se o CPF estiver no formato inválido vai aparecer aqui: */
	if ($ver=="VerOk") {

	if ($status) {
	include "class/cad.php";
	}
	else {
	echo "<div id=\"erros\">
	<div style=\"background: #F4C400; padding: 3px; text-align:left;\">
	<p>Ocorreram alguns problemas durante a tentativa de cadastro, os campos abaixo estão inválidos:</p></div>";
	/* Verifica os outros campos do formulário */
	if ($nome == "") { echo "* Nome completo <br />"; }
	if ($email == "") { echo "* E-mail <br />"; }
	if ($empresa == "") { echo "* Empresa <br />"; }
	if ($telefone == "") {echo "* Telefone <br />";}
	if ($endereco == "") {echo "* Endereço <br />";}
	if ($numero == "") {echo "* Número <br />";}
	if ($bairro == "") {echo "* Bairro <br />";}
	if ($cidade == "") {echo "* Cidade <br />";}
	if ($cep == "") {echo "* Cep <br />";}
	if ($descricao == "") {echo "* Descrição da Empresa <br />";}

	else { echo "O CPF: $cpf É INVÁLIDO!"; }
	} }
	echo "</div>";
	?></td></tr>

So falta ele nao limpar o formulario... se alguem puder me ajudar fico grato... vlwww a todos....

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm... cara o que você pode fazer é colocar no value dos campos o $_POST['nomecampo'] ai irá voltar com os valores tendeu??

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Otata, valeu pela dica, eu fiquei fuçando aqui, e fiz quase igual você disse, mais no campo value usei um <?php echo $nome; ?> e funco dboa... Muito obrigado vlw mesmooooo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta colocar o value de cada input assim: value="<?=(isset($_POST['nome_do_campo']))? $_POST['nome_do_capo'] : ''?>

Desta forma caso aja um valor enviado pelo form anteriormente o value do campo e preenchido com este valor.

 

Ex.:

 

<label>Nome

<input name="nome" type="text" id="nome" maxlength="45" value="<?=(isset($_POST['nome']))? $_POST['nome'] : ''?>" />

</label>

<label>E-mail

<input name="email" type="text" id="email" maxlength="64" value="<?=(isset($_POST['email']))? $_POST['email'] : ''?>" />

</label>

<label>Telefone

<input name="telefone" type="text" id="telefone" maxlength="14" value="<?=(isset($_POST['telefone']))? $_POST['telefone'] : ''?>" />

</label>

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.