Foros del Web » Programando para Internet » PHP »

Correcto manejo del if

Estas en el tema de Correcto manejo del if en el foro de PHP en Foros del Web. Buenos dias foro, les escribo para q me ayuden en un asuntico el cual no entiendo muy bien.. La idea es re-direccionar a una pagina ...
  #1 (permalink)  
Antiguo 15/04/2005, 10:59
 
Fecha de Ingreso: noviembre-2003
Ubicación: Frente a la PC
Mensajes: 120
Antigüedad: 20 años, 5 meses
Puntos: 0
Correcto manejo del if

Buenos dias foro, les escribo para q me ayuden en un asuntico el cual no entiendo muy bien..

La idea es re-direccionar a una pagina (inmuebles.php) en caso de q:
a) las variables 1 y 2 sean iguales a "0"
b) la variable 1 sea igual a "0" y la 2 tenga algún valor (q exista)
c) la variable 2 sea igual a "0" y la 1 tenga algún valor (q exista)
si nada de esto sucede continua con la visualizacion de la pagina..

Hasta solo he logrado la (a) pero no se como utilizar los if, elseif, else, etc, etc..

Código PHP:
if (($_POST['inmueble'] == "0" )&&($_POST['proposito'] == "0"))
        {    
        
header("Location:inmuebles.php");
        } 

Nota: las variables las estoy enviando desde un formulario por metodo POST.
Gracias...
__________________
Sin sombra no hay luz...
  #2 (permalink)  
Antiguo 15/04/2005, 11:11
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
ok, el If sería así:

if(($_POST['inmueble']==0 && $_POST['proposito']==0) || ($_POST['inmueble']==0 && $_POST['proposito']) || ($_POST['inmueble'] && $_POST['proposito']==0))
{
header("Location:inmuebles.php");
}


cada una de las condiciones(a,b y c) está separada por un or (||), por lo tanto, en una misma sentencia if puedes agrupar las 3 condiciones. Para especificar que una variable tenga un valor, siempre y cuando no sea cero, entonces no pones ninguna igualdad, sino sólo esto:

if($variable){echo "Entrará siempre que /$variable tenga un valor diferente de cero";}

Si tienes dudas adicionales, lo escribes. Espero que te sirva
  #3 (permalink)  
Antiguo 15/04/2005, 11:45
 
Fecha de Ingreso: noviembre-2003
Ubicación: Frente a la PC
Mensajes: 120
Antigüedad: 20 años, 5 meses
Puntos: 0
Bueno Gabriel ,si me sirvio pero no del todo porq ahora siempre me redirecciona hacia la pagina, incluso cuando hay algun valor. Veras, los valores los estoy tomando de dos menus desplegables el cual tienen valores tales como casa ,apartamentos, etc, etc.. y el otro tiene valores como Venta, alquiler. Los dos tienen un elemento de lista llamado --Seleccione-- el cual el valor para ambos es de "0"

intente modificarlo asi pero tampoco me funciona:

Código PHP:
if(($_POST['inmueble']==&& $_POST['proposito']==0) || ($_POST['inmueble']==&& $_POST['proposito']!==0) || ($_POST['inmueble']!==&& $_POST['proposito']==0))

header("Location:inmuebles.php"); 


La idea es q soloquiero q direccione cuando los dos sean cero o cuando alguno de los dos sea cero ,si ninguno de los dos es cero, entonces muestra los resultados..

Gracias
__________________
Sin sombra no hay luz...
  #4 (permalink)  
Antiguo 15/04/2005, 12:05
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
Ok, a ver, intenta poniendo el operador != en vez de !==, si no funciona, inténtalo así:

if($_POST['inmueble']==0 || $_POST['proposito']==0)
{
//Entraría cuando cualquiera de los 2 es cero o cuando ambos son cero
header("Location:inmuebles.php");
}
//no entraría cuando cada uno tiene un valor diferente de cero.


Creo que para lo que quieres este código es mejor, NO ENTRARÍA al if SÓLO cuando los dos son diferentes de cero.
  #5 (permalink)  
Antiguo 15/04/2005, 16:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Frente a la PC
Mensajes: 120
Antigüedad: 20 años, 5 meses
Puntos: 0
pues no amigo, puse el operador != y nada, coloque lo último q me diste y nada, no entiendo porq no funciona, debería funcionar..
__________________
Sin sombra no hay luz...
  #6 (permalink)  
Antiguo 15/04/2005, 17:38
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
A ver, pásame tú código, y así se verá que otra cosa puede ser
  #7 (permalink)  
Antiguo 15/04/2005, 17:43
 
Fecha de Ingreso: noviembre-2003
Ubicación: Frente a la PC
Mensajes: 120
Antigüedad: 20 años, 5 meses
Puntos: 0
ok, esto es lo q mando en la pagina de busqueda..

Código HTML:
<form action="ResultInmuebles.php" method="post" name="form2" id="form2">
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr>
          <td width="26" height="21" align="right" valign="middle"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td width="213" align="center" valign="middle" class="marco_titulos_rojos">seleccione inmueble </td>
        <td width="243" align="center" valign="middle" class="marco_titulos_rojos">seleccione prop&oacute;sito</td>
        </tr>
        <tr>
          <td height="21" align="right" valign="middle"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td align="center" valign="middle" class="marco_titulos_rojos"><select name="inmueble" class="campos" id="inmueble">
            <option value="0" selected>--Seleccione--</option>
            <option value="Apartamentos">Apartamentos</option>
            <option value="Casas">Casas</option>
            <option value="Fincas">Fincas</option>
            <option value="Granjas">Granjas</option>
            <option value="Haciendas">Haciendas</option>
            <option value="Locales Comerciales">Locales Comerciales</option>
            <option value="Parcelas">Parcelas</option>
            <option value="Terrenos">Terrenos</option>
          </select></td>
          <td align="center" valign="middle"><select name="proposito" class="botones" id="proposito">
            <option value="0" selected>--Seleccione--</option>
            <option value="venta">Venta</option>
            <option value="alquiler">Alquiler</option>
          </select></td>
        </tr>
        <tr>
          <td height="21" align="right" valign="middle"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td align="center" valign="middle" class="marco_titulos_rojos"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td align="center" valign="middle" class="marco_titulos_rojos"><!--DWLayoutEmptyCell-->&nbsp;</td>
        </tr>
        <tr>
          <td height="21" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td colspan="2" align="center" valign="middle" class="marco_titulos_rojos"><input name="Submit2" type="submit" class="botones" value="Buscar"></td>
        </tr>
      </table>
	</form> 


y recibo con esto en la pagina de resultados..

Código PHP:
if (($_POST['inmueble'] == "0" )&&($_POST['proposito'] == "0")) 
        {     
        
header("Location:inmuebles.php"); 
        } 
__________________
Sin sombra no hay luz...
  #8 (permalink)  
Antiguo 15/04/2005, 19:05
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
Código PHP:
if ($_POST['inmueble'] == "0" && $_POST['proposito'] == "0"){    
        
header("Location:inmuebles.php");
}elseif(
$_POST['inmueble'] == "0" && $_POST['proposito'] != "0"){
       
header("Location:inmuebles.php");
}elseif(
$_POST['inmueble'] != "0" && $_POST['proposito'] == "0"{
      
header("Location:inmuebles.php");
}else{
echo 
"continuamos con el script";

La pregunta es si el valor de inmueble y propósito es cero, es decir q no esta vacía sino su dato es "0", debes hacerlo así, sino ponle en lugar de "0" "" (solo las comillas vacías) q es lo q entiendo q quieres hacer.
Aunque considerando q la condición es una, puedes invertirla, sería algo así
Código PHP:
<?
if($_POST['inmueble'] != "" && $_POST['proposito'] != ""){
echo 
"continuamos con el script";
}else{
     
header("Location:inmuebles.php");
}
?>
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...

Última edición por sebtev; 15/04/2005 a las 19:13
  #9 (permalink)  
Antiguo 15/04/2005, 19:23
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
Ya está resuelto

Mira, ya probé el siguiente código en mi servidor y sí funciona, entonces sería así, a la página de búsqueda no le hagas ninguna modificación, y la página de redireccionamiento quedaría así:

Código PHP:
<?php if ($_POST['inmueble'] == "0" || $_POST['proposito'] == "0"
        { 
//echo "Entró:".$_POST['inmueble'] . ", ".$_POST['proposito'] ;
         
header("Location:inmuebles.php"); 
        }
?>
Espero que ahora sí te sirva. Después de mucho, pero bueno, ya quedó.
  #10 (permalink)  
Antiguo 16/04/2005, 11:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Frente a la PC
Mensajes: 120
Antigüedad: 20 años, 5 meses
Puntos: 0
Listo
!!! ya funciona a la perfeccion!!! Gracias a los dos por ayudarme y de paso aprendi bastante!!! saludos amigos..
__________________
Sin sombra no hay luz...
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 18:47.