Ir ao conteúdo
  • Cadastre-se

duvida em php


MarcelinhoB

Posts recomendados

To iniciando com programação em php, e fiz um programa bem basicão somente pra validação de nome, telefone, cpf, email e data de nascimento

A função de validaData tem uma chamada de função chamada CalculoIdade, mostro as funções a seguir:

CalcularIdade dado em dias meses e ano


$dataNasc = explode("/", $dataNasc);
if ($data1>$data2){
return "";
}

$ano = $dataNasc[2];
$mes = $dataNasco[1];
$dia = $dataNasc[0];
$dia1 = $dia;
$mes1 = $mes;
$ano1 = $ano;
$dia2 = date("d");
$mes2 = date("m");
$ano2 = date("Y");

$dif_ano = $ano2 - $ano1;
$dif_mes = $mes2 - $mes1;
$dif_dia = $dia2 - $dia1;

if ( ($dif_mes == 0) && ($dia2 < $dia1) ){
$dif_dia = (ultimoDiaMes($data1) - $dia1) + $dia2;
$dif_mes = 11;
$dif_ano--;
}elseif ($dif_mes < 0){
$dif_mes = (12 - $mes1) + $mes2;
$dif_ano--;
if ($dif_dia<0){
$dif_dia = (ultimoDiaMes($data1) - $dia1) + $dia2;
$dif_mes--;
}
}elseif ($dif_dia < 0){
$dif_dia = (ultimoDiaMes($data1) - $dia1) + $dia2;
if ($dif_mes>0){
$dif_mes--;
}
}
if ($dif_ano>0){
$dif_ano = $dif_ano . " ano" . (($dif_ano>1) ? "s ": " ") ;
}else{
$dif_ano = "";
}
if ($dif_mes>0){
$dif_mes = $dif_mes . " mes" . (($dif_mes>1) ? "es ": " ") ;
}else{
$dif_mes = "";
}
if ($dif_dia>0){
$dif_dia = $dif_dia . " dia" . (($dif_dia>1) ? "s ": " ") ;
}else{
$dif_dia = "";
}
return $dif_ano . $dif_mes . $dif_dia;
}
function CalcularIdade($separador, $dataNasc){

Validar a Idade onde chamo o CalcularData


CalcularIdade($data, "/");
if (!eregi("^[0-3][0-9]/[0-1][0-9]/[0-9]{4}$", $data)) {
return false;
}else{
return true;
}
}
	function validaData($data) {

E a chamada faço no seguinte codigo:


$data_enviada = validaData($_POST['data']);
if($data_enviada == true){
echo "Data Valida<br>Sua idade é: ".CalcularIdade($dasta, "/")."<br>";
}elseif($data_enviada == false){
echo "Data Invalida<br>";
}
if(isset($_POST['btvalidar'])){

O problema é que o código simplesmente nao pega a data atual, ele ta pegando a data 00/00/0000

O que fazer?

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...