Foros del Web » Programando para Internet » PHP »

Codigo no hace caso al if

Estas en el tema de Codigo no hace caso al if en el foro de PHP en Foros del Web. Hola buenas, tengo un formulario que tiene 3 campos, el cual al darle al boton submit, deberia de hacer validaciones y buscar archivos de acuerdo ...
  #1 (permalink)  
Antiguo 22/11/2012, 07:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 1
Pregunta Codigo no hace caso al if

Hola buenas, tengo un formulario que tiene 3 campos, el cual al darle al boton submit, deberia de hacer validaciones y buscar archivos de acuerdo a la validacion

Este es mi formulario:
Código HTML:
<table>
<tr>
          <td colspan="4" bgcolor="#C6E2FF"><div align="center">
            <form name="form1" method="post" action="reporte_cdr.php">
			  <table width="70%" border="0" cellpadding="2" cellspacing="2" bordercolor="#333333">
              <tr>
                <td width="33%" bgcolor="#C6E2FF" class="Estilo3"><div align="center" class="Estilo29">Fecha Desde </div></td>
                <td width="33%" bgcolor="#C6E2FF" class="Estilo3"><div align="center" class="Estilo29">Fecha Hasta </div></td>
                <td width="34%" bgcolor="#C6E2FF" class="Estilo3"><div align="center" class="Estilo29">Tel&eacute;fono </div></td>
              </tr>
              <tr>
                <td bgcolor="#C6E2FF"><div align="center">
                  <label></label>
                  <label>
                  <input name="txt_fechaini" type="text" id="txt_fechaini" size="12" value="">
                  </label>
                </div></td>
                <td bgcolor="#C6E2FF"><div align="center">
                  <input name="txt_fechafin" type="text" id="txt_fechafin" size="12" value="">
                </div></td>
                <td bgcolor="#C6E2FF"><div align="center">
                  <input name="txt_telefono" type="text" id="txt_telefono" size="12" value="">
                </div></td>
                <td bgcolor="#C6E2FF"></td>
              </tr>
              <tr>
                <td colspan="4" bgcolor="#C6E2FF"><div align="center">
                  <label>
                  <input type="submit" name="Submit" value="Buscar">
                  </label>
                </div></td>
                </tr>
            </table>
            </form>
          </div></td>
        </tr>
</table> 
y este es mi php:

Código PHP:
<?php
              
if (isset($_POST['Submit']))
              {
                  if (isset(
$_POST["txt_fechaini"]))
                  {
                        
$fecha_ini=$_POST['txt_fechaini'];
                        
$fecha_fin=$_POST['txt_fechafin'];
                        list(
$dia_ini,$mes_ini,$ano_ini)=explode("/",$fecha_ini);
                        
$fecha_ini $ano_ini $mes_ini $dia_ini;
                        list(
$dia_fin,$mes_fin,$ano_fin)=explode("/",$fecha_fin);
                        
$fecha_fin $ano_fin $mes_fin $dia_fin;
                        if(isset(
$_POST['txt_telefono']))
                        {
                            
$telefono=$_POST['txt_telefono'];
                            
$con=0;
                            echo 
$telefono;
                            foreach (
glob("/var/spool/asterisk/monitorDONE/MP3/*" $telefono "*.mp3") as $phone)
                            {
                                
$maximo strlen($phone);
                                
$archivo substr($phone,36,$maximo);
                                list(
$fecha) = explode("-",$archivo);
                                
$phone substr($phone,52,$maximo);
                                list(
$phone) = explode("-",$phone);
                                
/*if ($fecha >= $fecha_ini) && ($fecha <= $fecha_fin) && ($telefono == $phone)
                                {
                                    $con++;
                                    if ($con % 2 != 0)
                                    {
                                        echo "<tr bgcolor='#CCCC99'>
                                        <td width='33%' align='center'>$fecha</td>
                                        <td width='33%' align='center'>$archivo</td>
                                        <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                        </tr>";
                                    }else{
                                        echo "<tr bgcolor='#FFFFFF'>
                                        <td width='33%' align='center'>$fecha</td>
                                        <td width='33%' align='center'>$archivo</td>
                                        <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                        </tr>";
                                    }
                                }*/
                            
}
                        }else{
                            echo 
$fecha_ini;
                            foreach (
glob("/var/spool/asterisk/monitorDONE/MP3/*.mp3") as $phone)
                            {
                                
$maximo strlen($phone);
                                
$archivo substr($phone,36,$maximo);
                                list(
$fecha) = explode("-",$archivo);
                                
/*if ($fecha >= $fecha_ini) && ($fecha <= $fecha_fin)
                                {
                                    $con++;
                                    if ($con % 2 != 0)
                                    {
                                        echo "<tr bgcolor='#CCCC99'>
                                        <td width='33%' align='center'>$fecha</td>
                                        <td width='33%' align='center'>$archivo</td>
                                        <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                        </tr>";
                                    }else{
                                        echo "<tr bgcolor='#FFFFFF'>
                                        <td width='33%' align='center'>$fecha</td>
                                        <td width='33%' align='center'>$archivo</td>
                                        <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                        </tr>";
                                    }
                                }*/
                            
}
                        }
                  }else{
                      echo 
"esto es si no esta definido fecha_ini";
                      if (isset(
$_POST['txt_telefono']))
                      {
                        
$telefono $_POST['txt_telefono'];
                        
$con=0;
                        foreach (
glob("/var/spool/asterisk/monitorDONE/MP3/*" $telefono "*.mp3") as $phone)
                        {
                            
$maximo strlen($phone);
                            
$archivo substr($phone,36,$maximo);
                            
$fecha explode("-",$archivo);
                            
$con++;
                            if (
$con != 0)
                            {
                                echo 
"<tr bgcolor='#CCCC99'>
                                <td width='33%' align='center'>$fecha</td>
                                <td width='33%' align='center'>$archivo</td>
                                <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                </tr>"
;
                            }else{
                                echo 
"<tr bgcolor='#FFFFFF'>
                                <td width='33%' align='center'>$fecha</td>
                                <td width='33%' align='center'>$archivo</td>
                                <td width='34%' align='center'><a href='descarga.php?archivo=$archivo'>Descarga</a></td>
                                </tr>"
;
                            }
                        }
                      }else{
                        echo 
"<tr>
                        <td align='center'><b>DEBE INSERTAR ALGÚN DATO A BUSCAR!</b></td>
                        </tr>"
;
                      }
                  }
              }else{
                    echo 
"<tr bgcolor='#000000'>
                    <td></td><td></td><td></td>
                    </tr>"
;
              }
              
?>
la 2da validacion es la que no funciona o sea entra en el if si es que no pasa datos este campo de texto: if (isset($_POST["txt_fechaini"]))
Me podrian ayudar a ver que es lo que estoy haciendo mal por favor?
Desde ya muchas gracias a todos!
  #2 (permalink)  
Antiguo 22/11/2012, 08:31
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Codigo no hace caso al if

Segun entiendo esta entrando a "esto es si no esta definido fecha_ini" , este seria tu problema? , la validacion parece no tener nada extraño, pero OJO con isset solo validas que exista la variable, pero no su contenido, es decir, que si tienes un input con ese nombre, siempre entrara, no importa que contenga o no valor. Para verificar que tenga algun valor podrias agregar && !empty($_POST["txt_fechaini"])
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 22/11/2012, 08:43
 
Fecha de Ingreso: octubre-2007
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Codigo no hace caso al if

h2swider!!! pues era eso el problema, porque siempre entraba al if y no al else... asi que lo probare ahora mismo y te aviso
  #4 (permalink)  
Antiguo 22/11/2012, 09:08
 
Fecha de Ingreso: octubre-2007
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Codigo no hace caso al if

h2swider, efectivamente ese era el problema, no se porque habia puesto isset... bueno ya esta.
Ahora tengo otro problema mas, el primer IF comentado, al descomentarlo no se muestra la pagina, o sea es como si no renderizara nada, podrias ayudarme por fa?

gracias!
  #5 (permalink)  
Antiguo 22/11/2012, 10:16
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Codigo no hace caso al if

Ese if tiene un error de sintaxis, te falta abrir y cerrar un parentesis, será por eso?
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 22/11/2012, 11:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Codigo no hace caso al if

si!!! eso mismo! lo habia solucionado antes, muchas gracias por tu ayuda!!!

se puede dar por cerrado!

Etiquetas: formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:42.