Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Dia 31


KalebFox

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

Validar_data:

// 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;

}

Na pagina que vai verificar você coloca :

pagina.php

include "validar_datas.php

//dados recebidos de um formulario

$dia = $_POST["dia"];

$mes = $_POST["mes"];

$ano = $POST["ano"];

   if (!validar($dia, $mes, $ano)){

      echo "<center><font color = \"#FF0000\">Data Inválida : $dia/$mes/$ano </font></center><br>

            <a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";

   exit();

}

só mais uma coisa pro php saber o final de cada dia referente ao mes

use o date("t/m/Y");

http://www.php.net/manual/pt_BR/function.date.php

Link para o comentário
Compartilhar em outros sites

  • 0
Bom dia amigos...

Alguém sabe como posso validar no PHP se o dia 31 de determinado mês e verdadeiro... Estive afastado por um tempo do PHP e confesso que não estou conseguindo...

Desde já agradeço.

Só tem um pequeno problema...se ninguém acessar o script no dia 31...hehe...já era...não vai funcionar...

Aconselho que você crie um script que valide sempre... e execute ele, via conJOB ou qualquer outra função de agendamento do seu servidor, a cada dia 28/29/30/31, dependendo do mês...

Seria o mais correto...

A menos que você tenha certeza que alguém entrará todos os dias, ou pelo menos nos dias certos... aí daria pra fazer uma validação simples por script...

Link para o comentário
Compartilhar em outros sites

  • 0
Só tem um pequeno problema...se ninguém acessar o script no dia 31...hehe...já era...não vai funcionar...

Aconselho que você crie um script que valide sempre... e execute ele, via conJOB ou qualquer outra função de agendamento do seu servidor, a cada dia 28/29/30/31, dependendo do mês...

Seria o mais correto...

A menos que você tenha certeza que alguém entrará todos os dias, ou pelo menos nos dias certos... aí daria pra fazer uma validação simples por script...

Só não entendi sua resposta , porque o que ele pediu foi:

como posso validar no PHP se o dia 31 de determinado mês e verdadeiro

então pra saber se um determindado dia 31 é valido ou ele testa

ou ele compara com o date("t")

t Número de dias do dado mês 28 a 31

então não era isso o que ele queria?

ate mais abraços rolleyes.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Criei esta função que valida se uma data é verdadeira (similar ao primeiro post do Fabyo):

function validar($dia, $mes, $ano) {

    $dia2 = date("d", mktime(0, 0, 0, $mes, $dia, $ano));

    $mes2 = date("m", mktime(0, 0, 0, $mes, $dia, $ano));

    if ($dia == $dia2 && $mes == $mes2) {

        return 1;

    } else {

        return 0;

    }

}

Abraços! smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Só tem um pequeno problema...se ninguém acessar o script no dia 31...hehe...já era...não vai funcionar...

Aconselho que você crie um script que valide sempre... e execute ele, via conJOB ou qualquer outra função de agendamento do seu servidor, a cada dia 28/29/30/31, dependendo do mês...

Seria o mais correto...

A menos que você tenha certeza que alguém entrará todos os dias, ou pelo menos nos dias certos... aí daria pra fazer uma validação simples por script...

Só não entendi sua resposta , porque o que ele pediu foi:

como posso validar no PHP se o dia 31 de determinado mês e verdadeiro

então pra saber se um determindado dia 31 é valido ou ele testa

ou ele compara com o date("t")

t Número de dias do dado mês 28 a 31

então não era isso o que ele queria?

ate mais abraços rolleyes.gif

Ah, putz viagei...

Li o Título e fui lendo por cima com pressa... biggrin.gifunsure.gif

Mas caso ele quisesse que alguma coisa acontecesse todo último dia do mês, ele teria que fazer como eu disse...

No mais ignora o meu post...heheh...preciso dormir mais.. biggrin.gif

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...