- Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
- Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
Validar Dados - O que é ? Para que serve ?
Uma das coisas mais importantes que fazemos no desenvolvimento web, é validar entradas do usuário.
Ou seja, verificar se o que o usuário digitou é válido ou não.
E nunca, jamais, nunca mesmo, duvide de um usuário.
Se você pede um nota ao usuário, ele pode escrever 11 ou -1.
Se pede uma data no formato dd/mm/aa, ele vai escrever '11 de janeiro de 1998' ou '01/03/99'.
É um trabalho comum entre JavaScript e PHP, validar os dados para trabalharmos com banco de dados em PHP.
Visando aprender a fazer isso, vamos fazer exemplos bem simples de como validar dados em PHP, primeiro de uma nota depois de um login/senha.
Validando Entrada Numérica em PHP
Vamos pedir um número ao usuário.
Se for de 0 até 10, ok, dizemos que a nota foi inserida com sucesso.
Se for menos que 0 ou mais que 10, dizemos que houve um erro e exibimos uma mensagem pedindo uma nota correta, essa mensagem só sai se você inserir a nota corretamente:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Insira uma nota: <input type="number" name="number" /><br /> <input type="submit" name="submit" value="Inserir" /> </form> <?php $nota=$_GET['number']; if($nota<0 || $nota>10) echo "Insira uma nota de 0 até 10! <br />"; else echo "Nota inserida com sucesso!"; ?> </body> </html>
Validando Entrada de Strings em PHP
Em muitos cadastros por aí, quando pedem seu login e senha, eles querem que você escolha uma senha que não seja igual ao seu login, por questões de segurança.
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Nome: <input type="text" name="name" /><br /> Senha: <input type="password" name="password" /><br /> <input type="submit" name="submit" value="Inserir" /> </form> <?php $nome=$_GET['name']; $senha=$_GET['password']; if($nome == $senha) echo "Sua senha deve ser diferente do login<br />"; else echo "Cadastro realizado com sucesso"; ?> </body> </html>
Assim, o código de um sistema que não permita que a senha seja igual ao login, seria:
Exercício
Peça o login, a senha e a confirmação da senha.
Confirme se o usuário digitou corretamente a senha.
Código na apostila