Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2008, 06:13
Avatar de arkuel
arkuel
 
Fecha de Ingreso: abril-2008
Ubicación: León
Mensajes: 17
Antigüedad: 16 años
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.