Foros del Web » Programando para Internet » PHP »

Fallo del explode

Estas en el tema de Fallo del explode en el foro de PHP en Foros del Web. Hola! Tengo un problema con el código que estoy realizando. Consiste en sacar 2 fechas cada una de una caja de texto distinta y en ...
  #1 (permalink)  
Antiguo 02/06/2008, 06:13
Avatar de arkuel  
Fecha de Ingreso: abril-2008
Ubicación: León
Mensajes: 17
Antigüedad: 16 años, 7 meses
Puntos: 0
Fallo del explode

Hola!

Tengo un problema con el código que estoy realizando.

Consiste en sacar 2 fechas cada una de una caja de texto distinta y en fin estoy haciendo validaciones por si las meten de la siguiente forma ddmmaa dd/mm/aa ó dd-mm-aa. De la primera forma no me da problemas. El fallo me da cuando las introduzco de la otra forma el codigo que tengo es el siguiente,

Código PHP:
$ini1=strpos($_POST["fecini"],"/");
$ini2=strpos($_POST["fecini"],"-");
if (
$ini1===false || $ini2===false )
{
        
//ddmmaa
        
$diai=substr($_POST["fecini"],0,2);
    
$mesi=substr($_POST["fecini"],2,2);
    
$anoi=substr($_POST["fecini"],4,4);
    
$fechai=$anoi."-".$mesi."-".$diai;
                
                    
}
else
{    
        if (
$ini1===true || $ini2===true )
        {
    
//dd/mm/aa
    
if ($ini1===true)
                {
                   
$feci=explode("/" $_POST["fecini"]);
        
$fechai=$feci[2]."-".$feci[1]."-".$feci[0];

                
    }
    
//dd-mm-aa
    
else if ($ini2===true)
    {
        
$feci=explode("-" $_POST["fecini"]);
        
$fechai=$feci[2]."-".$feci[1]."-".$feci[0];
        
    }
       }
//if ===true
}//else
//ddmmaa
$fin1=strpos($_POST["fecfin"],"/");
$fin2=strpos($_POST["fecfin"],"-");
if (
$fin1===false || $fin2===false )
{
    
$diaf=substr($_POST["fecfin"],0,2);
    
$mesf=substr($_POST["fecfin"],2,2);
    
$anof=substr($_POST["fecfin"],4,4);
    
$fechaf=$anof."-".$mesf."-".$diaf;
}
else 
{    
    if(
$fin1===true || $fin2===true )
               {
//dd/mm/aa
        
if ($fin1===true)
        {
                          
$fecf=explode("/" $_POST["fecfin"]);
              
$fechaf=$fecf[2]."-".$fecf[1]."-".$fecf[0];
        }
    
//dd-mm-aa
    
else if ($fin2===true)
    {
                    
$fecf=explode("-" $_POST["fecfin"]);                    $fechaf=$fecf[2]."-".$fecf[1]."-".$fecf[0];
    }
}

            
print_r($fechaf);
            
print_r("<br />".$fechai); 
el resultado que me muestra introduciendo por ejemplo 02/02/08 es 2/08-/0-02

Si podeís ayudarme os lo agracederia mucho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.