Ir para conteúdo

POWERED BY:

Arquivado

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

Jack.Psycho

Enviar formulário em php "somente" após validação dos campos.

Recommended Posts

Tenho um script em JS para validação de campos de um formulário funcionando 100%.::

<script language="JavaScript">
function valida()
{
   if (document.form.nome.value == "")
   {
      alert("O campo nome não pode ser vazio.");
      document.form.nome.focus();
      return false
   }
   if (document.form.email.value == "")
   {
      alert("O campo email não pode ser vazio.");
      document.form.email.focus();
      return false
   }
}
</script>

E no formulário eu adiciono a linha.::

<form action="enviar_formulario.php" method="POST" name="form" onsubmit="return valida();">

Esse script faz exatamente o que eu preciso, só envia o formulário e acessa o arquivo "enviar_forumlario.php" APÓS o retorno da função "valida" (onsubmit="return valida();").

 

Minha dúvida é como eu posso fazer essa mesma validação utilizando apenas PHP ?

 

Tentei criar uma função no PHP para teste de validação.::

function validaphp()
{
		if(empty($nome)){ 
		echo "Nome Vazio";
		}
}

E então chamá-la no onSubmit como faço com JS.::

<form action="enviar_formulario.php" method="POST" name="form" onsubmit="return validaphp();">

Mas nada acontece, não aparece nenhuma mensagem de erro, apenas não funciona a checagem.

 

Não sei se escrevi algo errado, se existe essa possibilidade ou o que devo fazer para obter o mesmo resultado que tenho com JS por PHP.

 

Alguém sabe como resolver isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não dá ^^

 

onsubmit() é um evento HTML, e apenas linguagens client-side são capazes de tratar isso.

 

php é server-side, ou seja, só vai rodar se você requisitar algo ao servidor. Então, é impossível, com php puro, ter o mesmo resultado que você teve com javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta amigo, e entendi...

 

O intuito de usar o onSubmit é de checar todos os campos antes de acessar outro arquivo (No meu caso o enviar_formulario.php), existe alguma maneira em php de só acessar esse arquivo ou "permitir o form action do formulário", após essa checagem ?

 

Até consegui um resultado parecido mas utilizando apenas campos (nome, email, telefone e etc), mas estou fazendo um formulário que envia também uma imagem e quando clico em enviar o formulário já grava os dados na tabela mas não envia o arquivo e fazer essa checagem no segundo arquivo me soa um pouco sem sentido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas com php não tem como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra eu não sei se entendi muito bem,mais porque você não usa o arquivo .php que grava no banco pra fazer as verificações uma senquencia de IF's e se tiver tudo ok você insere

se não retorna a mensagem de erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode tentar fazer uma validação em tempo-real utilizando AJAX. Ainda assim, se o visitante tiver javascript desabilitado, a validação só vai ocorrer após o envio das informações. O que pode ser feito pra melhorar a experiência é, no caso de não passar na validação, os campos anteriores já apareçam preenchidos.

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.