hasta ahora esto es lo que logre..
no me funciona... quiero que me tire el error correspondiente al lo que fallo...
Código PHP:
//////*****/////// Inicio valida fecha //////*****///////
function validafecha($fecha){
$Diar=date("d", strtotime($fecha));
$Mesr=date("m", strtotime($fecha));
$Anhor=date("Y", strtotime($fecha));
if(($Diar != "") && ($Mesr != "") && ($Anhor != "")){
if (checkdate($Mesr, $Diar, $Anhor)) {
$fechaValida=$fecha;
} else {
$fechaValida=""; // no es valida
}
}
return $fechaValida;
}
//////*****/////// Fin valida fecha //////*****///////
//////*****/////// Inicio funcion que valida las fechas de inicio y final //////*****///////
function validarfechas($fechaini,$fechafin,$cual,$result){
$valido="NO";
$hoy=date("Y-m-d");
// descomponemos las fechas
$fecarini=explode("/", $fechaini);
$fecarfin=explode("/", $fechafin);
//valida que sea una fecha
$Diar=$fecar[0];
$Mesr=$fecar[1];
$Anhor=$fecar[2];
$fecini=$Anhor."-".$Mesr."-".$Diar;
$fecinivalidada=validafecha($fecini); // devuelve fecha o vacio
$Diar2=$fecar[0];
$Mesr2=$fecar[1];
$Anhor2=$fecar[2];
$fecfin=$Anhor2."-".$Mesr2."-".$Diar2;
$fecfinvalidada=validafecha($fecfin); // devuelve fecha o vacio
// validar que la fecha de inicio sea mayor o igual a hoy
if(($fecinivalidada != "") && ($fecinivalidada >= $hoy)){
$feciniesmayorahoy="SI";
}
// validar que la fecha final sea mayor o igual a hoy
if(($fecfinvalidada != "") && ($fecfinvalidada >= $hoy)){
$fecfinesmayorahoy="SI";
}
// validar que la fecha final sea mayor o igual a la fecha de inicio
if(($fecinivalidada != "") && ($fecfinvalidada != "") && ($fecinivalidada >= $fecfinvalidada)){
$fechafinesmayoroigualanini="SI";
}else{
$fechafinesmayoroigualanini="NO";
}
// Fecha Inicio
if($cual == "1"){
$fechares=$fecinivalidada;
}
// Fecha Fin
if($cual == "2"){
$fechares=$fecfinvalidada;
}
// Ambas Fechas
// devuelve SI o NO dependiendo que cumpla con todos los requisitos
if($cual == "ambos"){
$fechares=$fechafinesmayoroigualanini;
}
return $fechares;
}
//////*****/////// Fin funcion que valida las fechas //////*****///////
pero no funciona todavia