Ir para conteúdo

POWERED BY:

Arquivado

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

Red FeniX

Validação de dados

Recommended Posts

Opa galera,

 

Mais uma dúvida minha:

 

Estava eu criando um formulário de cadastro bem bonitin no meu editor PHP. Criei também uma classe para verificação de dados, que contém, até agora, apenas a verificação de campo obrigatório. Porém, me deparo com um problema, na verdade, é uma idéia bacana que não sei como fazer:

 

Eu gostaria que quando o cara clicasse no botão cadastrar, aparecesse uma thick box (link) com a mensagem "Aguarde", por exemplo. Enquanto a mensagem é mostrada, ele faz a verificação por meio do PHP. Se não retornar erros, ele libera a form para ir para a action dele. Caso contrário, ele interrompe o form e mostra os erros em locais específicos, indicados por uma div com id="error_display", por exemplo.

 

Sei que vou ter que utilizar PHP e AJAX, mas não tenho idéia de como fazer isso e nem de como fazer para que os dois trabalhem juntos.

 

Alguém pode me ajudar?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu gostaria que quando o cara clicasse no botão cadastrar, aparecesse uma thick box (link) com a mensagem "Aguarde", por exemplo.

tipo assim ? *estou utilizando um framework javascript chamado PrototypeJS para fazer..

 

<script src="prototype.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">

function check(usuario)
{
   $('message').innerHTML='aguarde verificando...';
	var url = 'ajax_response_check.php?usuario='+usuario;
	new Ajax.Request(url,
		{   
		  onSuccess: function(transport) 
			{	 
			   $('message').innerHTML = transport.responseText;
			}
		 }); 
}
</script>

no caso este ajax_response_check.php é a parte em php que verifica no banco de dados se o usuario ja esta cadastrado.. enquanto ele estiver aguardando a resposta da pagina php ele mostra 'aguarde verificando...'

Enquanto a mensagem é mostrada, ele faz a verificação por meio do PHP. Se não retornar erros, ele libera a form para ir para a action dele.

esta verificação você faz na pagina ajax_response_check.php ..que ira retornar apos verificado.. ha varios modos diferentes para fazer .. so estou te indicando um caminho..

 

valww =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, nesse caso eu teria que colocar return true ou false na verificação correto?

 

Mas não sei como fazer pra retornar os erros, por exemplo:

 

Campo 1: [input aqui]

{msg de erro aqui se houver}

 

[CADASTRAR]

 

Não sei como fazer isso ae...

 

Sou leigo em AJAX, então desculpe se estou falando bobagem :D

 

Abraços e obrigado por responder!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sei la.. um exemplo de retorno caso tivese 3 input e fosse verificar se eles nao estejam vazios..

 

$num_erros = 0;
foreach($_POST as $pega)
{
if($pega == '')
{
$num_erros += 1; 
}
}

if($num_erros == 0))
{
$verificou = TRUE;
}
else
{
echo 'ocorreu '.$num_erros.' erros no cadastro';
$verificou = FALSE;
}

ae na pagina de cadastro coloca sobre condicao..

 

if($verificou)
{
//script de cadastro
}

nao testei .. mas acho que deve funcionar..

 

valww =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi o q você quis dizer, mas você não tá me entendendo. Veja a minha dúvida:

 

Tenho um form, por exemplo:

 

Nome: <input name="nome" id="campo_nome">
// Aqui é uma div vazia que receberá os dados dos erros
<div id="error_nome">
<? echo $error_nome; ?>
</div>
Telefone: <input name="telefone" id="campo_tel">
// Aqui é uma div vazia que receberá os dados dos erros
<div id="error_tel">
</div>
Cidade: <input name="cidade" id="campo_cidade">
// Aqui é uma div vazia que receberá os dados dos erros
<div id="error_tel">
</div>

[CADASTRAR]

Ao clicar em cadastrar, o browser abre uma thick box com a mensagem Aguarde, verificando...

 

Simultaneamente, o browser executa o arquivo verificacao.php, que consiste em:

 

<?

$error_nome = $amjcs->cObrigatorio($_POST["nome", "Insira um nome");

if(strlen($error_nome) > 0) $errors = "1";

// e assim por diante....

// Funçao que verifica as validações
// function VerValidacoes() {
//   if($errors == "1") return false; else return true;
// }

$verificou = $amjcs->VerValidacoes();

?>

Ae se $verificou for igual a TRUE, ele segue para a action do formulário (cadastra.php). Caso contrário, ele fecha a thickbox e exibe as mensagens de erro nas divs correspondentes.

 

É mais ou menos essa a minha idéia, mas não sei como encaixar o AJAX ao PHP.

 

Falo

Compartilhar este post


Link para o post
Compartilhar em outros sites

para retornar o valor 'true' você deve fazer o PHP retornar um arquivo no modo XML ou puro texto com estas informações e depois tratá-la no javascript, isto se chama de AJAX, dá uma procurada por DOM PHP/Javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que a guestao da integração do php com o ajax ja esta esclarecida .. eu nao posso ajuda lo pois meus conhecimentos em javascript sao muito limitados (por este motivo utilizo framework) .. vou passar o topico para Javascript/DHTML acho que la eles vao poder te ajudar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

a propriedade responseText do objeto XMLHTTPRequest retorna um texto mostrado através de um echo no PHP... pegue este texto e faça as verificações necessárias...

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.