<?php
$data = $_POST["data"];
function validaData($data, $tipo = "pt")//pt = portugês
{
if ($tipo == 'pt')
{
$d = explode("/", $data);
$dia = $d[0];
$mes = $d[1];
$ano = $d[2];
}
else if ($tipo == 'en')//en = inglês
{
$d = explode("-",$data);
$dia = $d[2];
$mes = $d[1];
$ano = $d[0];
}
//usando função checkdate para validar a data
if (checkdate($mes, $dia, $ano))
{
$data = $ano.'/'.$mes.'/'.$dia;
if (
//verificando se o ano tem 4 dígitos
(strlen($ano) != '4') ||
//verificando se o mês é menor que zero
($mes <= '0') ||
//verificando se o mês é maior que 12
($mes > '12') ||
//verificando se o dia é menor que zero
($dia <= '0') ||
//verificando se o dia é maior que 31
($dia > '31')
)
{
echo "Válido";
return false;
}
if (strlen($data) == 10)
echo "inválido";
return true;
}
else
{
return false;
}
}
?>
Pergunta
Well_PHP
Pessoal, Estou um script que valida datas, o problema é que preciso imprimir quando for válida ou não.
data.php
<script type="text/javascript"> $(document).ready(function(){ $(function(){ $("#data").mask("99/99/9999"); }); }); </script> </head> <body> <form method="post" action="verificar.php"> <p>Data: <input type="text" name="data" id="data" /> </p> <p> <input type="submit" name="button" id="button" value="Verificar"> </p> </form> </body> </html>verificar.php<?php $data = $_POST["data"]; function validaData($data, $tipo = "pt")//pt = portugês { if ($tipo == 'pt') { $d = explode("/", $data); $dia = $d[0]; $mes = $d[1]; $ano = $d[2]; } else if ($tipo == 'en')//en = inglês { $d = explode("-",$data); $dia = $d[2]; $mes = $d[1]; $ano = $d[0]; } //usando função checkdate para validar a data if (checkdate($mes, $dia, $ano)) { $data = $ano.'/'.$mes.'/'.$dia; if ( //verificando se o ano tem 4 dígitos (strlen($ano) != '4') || //verificando se o mês é menor que zero ($mes <= '0') || //verificando se o mês é maior que 12 ($mes > '12') || //verificando se o dia é menor que zero ($dia <= '0') || //verificando se o dia é maior que 31 ($dia > '31') ) { echo "Válido"; return false; } if (strlen($data) == 10) echo "inválido"; return true; } else { return false; } } ?>Obrigado a todos
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.