Conheça o Plugfeed | » Início » Programação » PHP » Validação de dados em PHP
Conheça o Plugfeed | » Início » Programação » PHP » Validação de dados em PHP -->
 
Avaliação: | Publicado em: 19/09/2006
Validação de dados em PHP
Oberaldo Bull Programador PHP/MySql, trabalho no desenvolvimento de sites e sistemas dinâmicos. Faço parte da EquipeXQ de programadores, administro o site nacional do framework CakePHP (www.cakephp.com.br).
Validação de dados em PHP

Atualmente, a grande maioria dos sites utilizam algum tipo de formulário, seja para contato, cadastro, pesquisa etc, mas em muitos casos, não há uma verificação dos dados inseridos nos formulários.
Muitos webmasters utilizam a validação dos dados por meio de JavaScript, já que isto reduz o tempo de espera de uma resposta do servidor, valida os dados direto na máquina do usuário, sem transferí-los pela rede. Mas este tipo de validação não é 100% seguro, já que um usuário mal intensionado pode burlar esta validação copiando o código fonte da página e removendo a validação. O que fazer para evitar isto? Faça a validação de dados com PHP!
Veja abaixo alguns exemplos de validação de dados em PHP:

Vou tomar como base que você já tenha um formulário pronto com alguns campos, utilizando o método POST.

* Espaço em campos

$senha = $_POST['senha'];  //aqui foi resgatado o campo senha do formulário
 if(strstr($senha, ' ')!=FALSE)
 echo "A senha não pode ter espaços em branco";

A função acima verifica se dentro da string $senha possuí a string q esta entre aspas simples '', no caso, um espaço em branco. Caso a verificação retorne falso, o formulário irá ser processado, caso contrário, irá exibir a mensagem.

* Número mínimo de caracteres

$usuario = $_POST['usuario'];
 if(strlen($usuario)<5)
 echo "O campo usuário deve ter ao menos 5 caracteres";

A função strlen retorna o número de caracteres de uma string. O código acima, irá usar esta função para verificar se o campo $usuario tem ao menos 5 caracteres.

* Permitir apenas números

if(!is_numeric($idade))
 echo "O campo idade deve conter apenas números";

A função is_numeric verifica se uma string é numérica. Utilizando o ponto de exclamação (!) antes da função, ele irá verificar se a string $idade é diferente de numérico (!is_numeric); caso seja diferente, exibe a mensagem.

No próximo artigo irei abordar a validação de dados de E-mail, CEP, CNPJ e CPF.
Até o próximo artigo!


x_cakephp <comerce@terr.com.br>
Bem claro e prático o artigo de abertura Bill. Usarei para validação de formulário sem usar JavaScript. Espero que haja novos artigos. Obrigadão.
Meu achei muito legal, esse seu artigo, pois bvai me ajudar um monte para fazer a minha página de login no sistema que to fazendo, até e obrigado compartilhar com seu conhecimento coma gante.
tenho tido problemas com o strlen: ele esta retornando um tamanho maior do que o real. strlen('AAA.fld') esta dando tamanho 10.
Gustavo
O artigo é interessante mas acho que o JavaScript não deve ser descartado. É bom ter as duas validações (no PHP e no JavaScript). A do JavaScript vai impedir tráfego de rede desnecessário entre o cliente e o servidor e no caso de ser burlada teremos à disposição a validação em PHP
Manoel Vilhena <manoel@hi-midia.com>
Gostei muito desse artigo! Cada vez mais precisamos de melhores formas de segurar as informações q rodam nos nossos sites.

Estou tendo problemas no envio dos dados de uns formulários no site q eu trabalho: www.hi-midia.com..... E apesar de receber o formulário no meu email, eles retornam em branco.

Tudo estava funcionando perfeito e após 2 ocorrências eles começaram a dar esse pau. A 1ª foi a troca de servidor e ip do site e a 2ª foi um javascript q inseri para obrigar o preenchimento dos campos......

Realmente não faço idéia do q isso ta ocorrendo, e preciso muito de um help de uma pessoa q manje e tenha bom coração!

Será q vc poderia me ajudar? Te passo os códigos e etc.....sei q no fim das contas vai ser uma coisa banal...

Aguardo resposta!

Abraços
Claro e objetivo.
Essas condições que você colocou não funciona direito procure trocá-las por if(strcasecmp(senha, '')!= TRUE).


valeu cara, até eu que sou um ignorante em php entendi, se vc tiver apostilas nesse mesmo nivel para iniciantes manda pra mim ok ?
um abraço
Luciano Gadelha <lucianogadelha@hotmail.com>
Olá... olha nao consegui. toda vez que insiro o codigo, e quando vou atualizar a página aparece a mensagem de cara.... "O campo idade deve conter apenas números" sem o mesmo ter digitado nada.... o que posso estar fazendo de errado?
Luciano Gadelha <lucianogadelha@hotmail.com>
Agora sim consegui....rs.....muito bom.....rsss
marcos sartori <roqueirozonasul2hotmail.com>
olha eu estou começando a usar o php e nao consegui usar a funçao de senha voce poderia me indicar onde devo declarar a funçao?
eu declarei abaixo da linha do action mas nao funcionou .
quando se faz validaçao em php deve se validar um campo de cada vez?
Quando faço um formulario edevo cririar um novo arquivo e declarar as funçoes ou devo ir direto ao codigo fonte?
OBS: o editor que uso e o dreamweaver.
Olá marcos, este seria um método simples de verificar se um campo contém espaços em branco, no caso usei o exemplo com campo de senha, que deve ser resgatado de um form via GET ou POST. No caso, o exemplo dado foi de um form que foi postado um campo de nome 'senha', e resgatado via _POST'senha', e tratado conforme o exemplo acima.
Qualquer dúvida entre em contato por email
Joni César Tomazoni <jonicesaryahoo.com>
Muito bom, simples e direto. Bom para iniciantes. : Não avaliado
Parabéns, pelo artigo.
gostei e foi util
Sou iniciante e foi bem explicado para que é leigo!
Valeu
hj <fghjfghj>
jfgjh
Vlw meu caro... essas dicas foram de grande ajuda, espero que vc possa oferecer mais dicas assim da validação... um abraço... OrlandoB.Boy!!!
putz, PHP é "fodão" mesmo.
Uma excelente dica em usar estes trechos é para atualização de senhas ou em criação de parâmetros para sites como os do JavaFree, onde utiliza-se o sinal de "" (mais) nos parâmetros. =D

até mais.








Um produto Detetive.net