Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2011, 21:56
Sofmundi
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 10 meses
Puntos: 3
problema en comparar dos fechas

tengo el siguiente codigo
Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$fecha1 = isset( $_POST['fecha_adq'] ) ? $_POST['fecha_adq'] : '';
$fecha2 =  isset( $_POST['fecha_gar'] ) ? $_POST['fecha_gar'] : '';
$fecha1 mysql_real_escape_string($fecha1);
$fecha2 mysql_real_escape_string($fecha2);


if (
preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))
list(
$dia1,$mes1,$año1)=split("/",$fecha1);
if (
preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1))
list(
$dia1,$mes1,$año1)=split("-",$fecha1);
if (
preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))
list(
$dia2,$mes2,$año2)=split("/",$fecha2);
if (
preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2))
list(
$dia2,$mes2,$año2)=split("-",$fecha2);
$dif mktime(0,0,0,$mes1,$dia1$año1) - mktime(0,0,0$mes2,$dia2,$año2);

if(
$dif<=0){
    
header("Location: error_fecha.php");

en el formulario tengo
Código HTML:
<input name="fecha_gar" type="text" id="fecha_adq" style="cursor: text" onclick="ds_sh(this);" value="Haga clic aqu&iacute; para escoger fecha." size="32" readonly="readonly" /> 
y
Código HTML:
<input name="fecha_adq" type="text" id="fecha_gar" style="cursor: text" onclick="ds_sh(this);" value="Haga clic aqu&iacute; para escoger fecha." size="32" readonly="readonly" /> 
me sucede dos cosas raras, cuando solo coloco esos dos campos y les coloco fechas iguales como 2011-07-01 en ambos campos O 2011-07-02 en el primer campo que es Fecha de compra y en el segundo campo que es Fecha Garantia es 2011-07-01 y sin llenar ningun campo mas me sale bien redireccionando a otra pagina que dice error de fecha reviza las fechas, pero si lleno los demas campos asi como les planteo el problema no me direcciona a esa pagina sino simplemente me guarda. ? Aclaro nunca la garantia se puede vencer dias antes de comprar el articulo osea si tu compras algo nuevo hoy como se va a vencer ayer. ese es mi problemon gracias

Última edición por Sofmundi; 23/07/2011 a las 23:09