Foros del Web » Programando para Internet » PHP »

El if no redirige cuando debe

Estas en el tema de El if no redirige cuando debe en el foro de PHP en Foros del Web. Hola, Resulta que si pongo Código: if(!isset($_SESSION['id'])){ if($page['name']!="index" || $page['name']!="register"){ header("location: ".get_settings("hotel_url")); } } És décir, pongo || y otra variable, crea un bucle de ...
  #1 (permalink)  
Antiguo 06/10/2011, 15:59
Avatar de porketero  
Fecha de Ingreso: noviembre-2010
Mensajes: 29
Antigüedad: 13 años, 5 meses
Puntos: 1
El if no redirige cuando debe

Hola,
Resulta que si pongo
Código:
if(!isset($_SESSION['id'])){
if($page['name']!="index" || $page['name']!="register"){
header("location: ".get_settings("hotel_url"));
}
}
És décir, pongo || y otra variable, crea un bucle de redirección.
En cambio si pongo
Código:
if(!isset($_SESSION['id'])){
if($page['name']!="index"){
header("location: ".get_settings("hotel_url"));
}
}
Puedo poner elseif, pero no queda muy bién, así que por favor, ayudenme :)
  #2 (permalink)  
Antiguo 06/10/2011, 16:09
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: El if no redirige cuando debe

el || es un OR probaste poniendo

if(($page['name']!="index") OR ($page['name']!="register"));
aunque para tu caso podrias probar

if(($page['name']!="index") && ($page['name']!="register"));

??
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 06/10/2011, 16:12
Avatar de porketero  
Fecha de Ingreso: noviembre-2010
Mensajes: 29
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: El if no redirige cuando debe

Cita:
Iniciado por kaninox Ver Mensaje
el || es un OR probaste poniendo

if(($page['name']!="index") OR ($page['name']!="register"));
aunque para tu caso podrias probar

if(($page['name']!="index") && ($page['name']!="register"));

??
Perdón por la respuesta, rectifico, me funcionó el segundo caso, muchísimas gracias, toda la tarde peleandome con el código.
Repito de nuevo, muchas gracias.
  #4 (permalink)  
Antiguo 06/10/2011, 16:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: El if no redirige cuando debe

IF no se encarga de redirigir, simplemente es una estructura de control.

Despues de un redireccionamiento con header, es conveniente agregar exit; para forzar a que se detenga el script.

Como lo tienes:
if( condicion1 && condicion2 || condicion 3 )

Si se cumple 1 y 2... o solo 3, siempre va a entrar?, creo que si

Tendrias que agrupar las comparaciones para evitar usar otro if:
if ( condicion1 && ( condicion2 || condicion3 ) )

Solo si se cumple 1 y cualquiera de 2 y 3
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: elseif
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:49.