Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/03/2003, 11:29
Avatar de sci-fi
sci-fi
 
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años
Puntos: 0
ok, creo que me enredé un poco en el post anterior...

está muy buena esa función, inarray().... pero darkNET necesitaba buscar en una cadena normal enviada desde una form; el array se creaba para poner las palabras a buscar y no a la inversa... por eso el bucle...

volviendo a eso lo que me decías, DarkNET, de que se ejecutaba tanto el if como el else, se debía a que, supongamos que 'palabra1' no estaba en $campo_de_form, donde está la cadena enviada por el usuario... entonces, se ejecutaba el else. Pero, para 'palabra2', que sí se enontraba, se ejecutaba el if. Eso sucede porque el else se ejecutaba tantas veces como dura el bucle, o sea para todos los indexes del array. Te daba eso tanto porque 'palabra1' no estaba, pero 'palabra2' sí y se ejecutaban los dos códigos... por eso no te conviene poner un else en ese if, solamente asumí que lo que sigue se ejecuta como si fuera un else. por ejemplo pones:

Código PHP:
if ([se encontro una]) { 
// redireccionás al usuario de vuelta al formulario
header("Location: URL_del_form?prohibido=true"); 
print 
' '; exit(); 
// si $_GET['prohibido'] == true en el form original, 
// le ponés un mensaje 'no se pueden introducir tales palabras,
// no sé, etc' 
}
// de esa forma, lo que siga despues del bucle aquí no se
// ejecutará, o sea que se ejecuta solamente 
// si no se encuentran esas palabras 
no sé si me explico, también podrías hacer
Código PHP:
if ([se encontro una]) { 
$encontradas true; } // chequeas una sola vez 
// en lugar de las multiples veces de bucle del else anterior
if (isset($encontradas) && $encontradas == true) { // haces
// algo sin redireccionar 

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología