Foros del Web » Programando para Internet » PHP »

¿Qué le pasa a este if?

Estas en el tema de ¿Qué le pasa a este if? en el foro de PHP en Foros del Web. Hola a tod@s! llevo un rato ya pegandome con un if, y a ver si me lo podeis mirar por que ya me esta dando ...
  #1 (permalink)  
Antiguo 25/03/2010, 11:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
¿Qué le pasa a este if?

Hola a tod@s!
llevo un rato ya pegandome con un if, y a ver si me lo podeis mirar por que ya me esta dando dolor de cabeza y de paso me entero, para la próxima vez que me surja.
os explico: me llegan a este if urls con la siguiente forma
/templates/template.htm -->son los templates normales
/templates/forms/formulario.htm-->formularios
/templates/modules/nombre-modulo/template.htm -->templates de los modulos del cms
me tienen que entrar en el if todos los templates excepto los que en una variable $moduleExist estan a false y el if es este:
Código:
if(!ereg($sCPath, "/modules/") || (ereg($sCPath,"/modules/") && $moduleExist == true))
!ereg($sCPath, "/modules/")-->todos los que no estan en la carpeta modules
o (ereg($sCPath,"/modules/") && $moduleExist == true) los que están en la carpeta module y el modulo existe.

El caso es que me están entrando dentro los que tienen el $moduleExist a false y digo yo...algo aqui está mal...pero el qué¿?

Muchas gracias
Un saludo

solo añadir que los templates que no estan en la carpeta modules no traen $moduleExist y que al final de este if pongo $moduleExist= false; para verificar que no me entran los que no deben por que traigan el true del anterior
  #2 (permalink)  
Antiguo 25/03/2010, 11:52
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: ¿Qué le pasa a este if?

Creo que es un problema de parentesis en la condición

Prueba con esta linea:
Código PHP:
if(!ereg($sCPath"/modules/") ||  ereg($sCPath,"/modules/") && $moduleExist == true
Tambien investiga sobre la función ereg, está obsoleta!!

Saludos
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 25/03/2010, 12:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: ¿Qué le pasa a este if?

gracias por contestar, ya lo he probado, me sigue entrando, os pongo todo el código, a ver si asi se puede ver mejor.....
y que se usa ahora en lugar de ereg? que lo uso mucho oO"
Código:
if (is_file($sCPath))
{
	//si tiene /modules/ busco que hay detrás para saber si está en el array modules
	if(ereg("/modules/", $sCPath))
	{
	$search=strstr($sCPath,"/modules/");
	$search=substr($search,9);
	$result=substr($search,0,strpos($search,"/"));
	$moduleExist= in_array($result, $modules) ? true : false;
	}
//si sCpath no tiene /module/ o tiene /module/ y lo que le continua esta en el array modules
if(!ereg($sCPath, "/modules/") ||  ereg($sCPath,"/modules/") && $moduleExist == true)  
	{
	$a['path'] = $sCPath;
	if ($sDir != "") 
		$a['name'] = $sDir . "/" . $sFile;
	else 
		$a['name'] = $sFile;
	$aLlista[] = $a;
	$moduleExist= false;
	}
}
gracias de nuevo

Etiquetas: Ninguno
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 03:54.