Foros del Web » Programando para Internet » PHP »

Problema fulero en php (condiciones)

Estas en el tema de Problema fulero en php (condiciones) en el foro de PHP en Foros del Web. Utilizo condiciones para incluir contenido en mi web dependiendo de la seccion a donde el usuario se dirija. Ahora bien, si se dirigen a www.armedassault.com.ar/index.php ...
  #1 (permalink)  
Antiguo 09/06/2006, 13:21
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Problema fulero en php (condiciones)

Utilizo condiciones para incluir contenido en mi web dependiendo de la seccion a donde el usuario se dirija.

Ahora bien, si se dirigen a www.armedassault.com.ar/index.php por ejemplo hagan click en buscar, argumento o cualquier otra seccion que no sea novedades y observen que aparece el include por default y debajo el contenido que el usuario selecciono.

Aqui algo del codigo por si no entienden a lo que voy:

Código:
<div id="capa-contenido">			    
			<? 
			if (($go=="")or($go=="Inicio"))
		        {
		        include_once("news/show_news.php");
		        } 
		        if ($go=="Archivo")
		        {
		        include_once("news/show_archives.php");
		        } 
			if ($go=="Buscar")
		        {
		        include_once("includes/buscador.htm");
		        }
                        if ($go=="Recomendanos")
		        {
		        include_once("includes/formularios/recomendanos.html");
		        }
			if ($go=="Faq")
			{
			include_once("includes/menu-lateral.html");
			}
			if ($go=="Wallpapers")
			{
			include_once("includes/wallpapers.htm");
			}
</div>
  #2 (permalink)  
Antiguo 09/06/2006, 13:28
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

A mi no me quedo claro tu problema
  #3 (permalink)  
Antiguo 09/06/2006, 14:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tanto if() .. para la estructura que usas vendría mejor usar

switch()
www.php.net/switch

Usa la opción "default" para el caso: "$go=="" y lo demas .. un "case" por opción $go ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 09/06/2006, 15:28
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Con case o sin case, tengo el mismo problema.

Cita:
A mi no me quedo claro tu problema
Anda al link que te puse, hace click en cualquier parte del menu, y observa que aparece una novedad y el contenido correspondiente a lo que vos seleccionaste, es decir, si yo presiono buscar aparece la noticia (novedad) y debajo el buscador, cuando deberia aparecer solo el buscador, como sucede en mi servidor local...

Que puede ser???
  #5 (permalink)  
Antiguo 09/06/2006, 16:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Insisto en que uses un switch() .. creo que no lo has probado realmente.

Intenta no usar "or" para estos casos usa el operador ||

Y no uses =="" .. usa empty() en su lugar.

Código PHP:
if (empty($_GET['go']) || $go=="Inicio")){ ...} 
Tampoco sé de donde llega $go .. pero deberías usar $_GET['go'] en su lugar por tu seguridad ..

Insisto nuevamente en usar switch() mucho más naturar el código y más ordenado .. En extricto rigor si usas "if()" deberias usar if .. else .. hasta llegar al último con un elseif y ahí dejar tu opción por "default" .. Para este caso .. un switch() lo arregla todo de una forma mchooooo más clara para tí y para quien vea ese código.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 09/06/2006, 16:52
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Te muestro lo que hice, sigue sin andar en el host, y en local me funciona mas o menos.

Código:
<? 
			if (empty($_GET['go']) || ($go=="Inicio"))
		        {
		        include_once("news/show_news.php");
		        } 
		        switch ($go) {
     			case Inicio:
         		include_once("news/show_news.php");
         		break;
     			case Archivo:
         		include_once("news/show_archives.php");
         		break;
     			case Buscar:
         		include_once("includes/buscador.htm");
         		break;
         		case Recomendanos:
         		include_once("includes/formularios/recomendanos.html");
         		break;
         		case Faq:
         		include_once("includes/menu-lateral.html");
         		break;
         		case Wallpapers:
         		include_once("includes/wallpapers.htm");
         		break;
         		case Conflicto:
         		include_once("includes/mod/elconflicto.htm");
         		break;
         		case Servidores:
         		include_once("includes/servidores.htm");
         		break;
         		case Proyecto:
         		include_once("includes/mod/proyecto.htm");
         		break;
         		case Mod-Addons:
         		include_once("includes/mod/addons.html");
         		break;
         		case Staff:
         		include_once("includes/staff.htm");
         		break;
         		case Edicion:
         		include_once("includes/edicion.htm");
         		break;
         		case Addons:
         		include_once("includes/addons-listados.php");
         		break;
         		case Misiones:
         		include_once("includes/misiones-listadas.php");
         		break;
 		        }
                ?>
Saludos y gracias.
  #7 (permalink)  
Antiguo 09/06/2006, 16:57
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Pues entonces parece ser que tienes un problema con la jerarquia de tus carpetas o bien no tienes creada dichas carpetas.
Verifica estos dos puntos.

Saludillos.
  #8 (permalink)  
Antiguo 09/06/2006, 17:08
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Encerre cada valor del case con '' y funciona perfectamente en mi servidor local (appserver), pero en el hosting no hay caso y es un espejo de lo que tengo en local....

No entiendo....
  #9 (permalink)  
Antiguo 09/06/2006, 17:09
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

A que te refieres con

Cita:
...en local me funciona mas o menos
  #10 (permalink)  
Antiguo 09/06/2006, 17:35
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
EDITADO: Resuelto, faltaba $go=$_GET['go']; adelante de todo.

Saludos y gracias por tu alliuda.

Última edición por Snake nS; 09/06/2006 a las 18:25
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 13:25.