Validando data em formulário
Publicado por Fábio Berbert de Paula 15/08/2003
[ Hits: 15.066 ]
Homepage: https://fabio.automatizando.dev
Script que contém a função validar(), usada para verificar se uma data é válida ou não. Por exemplo, se o usuário informar 31/02, o programa irá acusar que a data não é válida.
<?
/*
validar_data.php
Script que contém a função validar(), usada para verificar se uma
data é válida ou não. Por exemplo, se o usuário informar 31/02,
o programa irá acusar que a data não é válida.
Programado por:
Fábio Berbert de Paula <fabio@vivaolinux.com.br>
Rio de Janeiro, 15 de Agosto de 2003
*/
?>
<html>
<body>
<form>
<?
// construindo o select do dia
echo "<select name=\"dia\">\n";
for ($i = 1; $i <= 31; $i++) {
$i = sprintf("%02d", $i); // preencher com zero À esquerda
echo "\t<option value=$i>$i</option>\n";
}
echo "</select>";
// construindo o select do mês
echo "<select name=\"mes\">\n";
for ($i = 1; $i <= 12; $i++) {
$i = sprintf("%02d", $i); // preencher com zero À esquerda
echo "\t<option value=$i>$i</option>\n";
}
echo "</select>";
// construindo o select do ano
echo "<select name=\"ano\">\n";
for ($i = 2003; $i <= 2010; $i++)
echo "\t<option value=$i>$i</option>\n";
echo "</select>";
?>
<input type=submit value="OK">
<br><br>
<?
if ($dia) { // significa que o formulário foi submetido
// vamos validar a data
if (!validar($dia, $mes, $ano))
echo "Resultado: <font color=red>data inválida!</font><br>";
else
echo "Resultado: data OK!<br>";
}
// função usada para validar o ano
function validar($dia , $mes, $ano) {
if ( (($ano % 4) == 0) && ($mes == 2) && ($dia > 29) )
// se o mês for fevereiro e o ano for bissexto, dia não pode
// ser maior que 29
return 0;
else if ( (($ano % 4) > 0) && ($mes == 2) && ($dia > 28) )
// se o mês for fevereiro e o ano não for bissexto, dia não pode
// ser maior que 28
return 0;
else if( (($mes == 4) || ($mes == 6) || ($mes == 9) || ($mes == 11) ) && ($dia == 31))
// se o mês for Abril, Junho, Setembro ou Novembro, dia não pode ser 31
return 0;
else
return 1;
}
?>
Reduzindo o tamanho de links postados em seu site
trabalhando envio de array por formulário
PHP Redimensionar imagem + marca d'agua
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (8)
Quais licenças open source têm valor jurídico? (7)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (1)









