Foros del Web » Programando para Internet » PHP »

Analizar contenido de una caja de texto

Estas en el tema de Analizar contenido de una caja de texto en el foro de PHP en Foros del Web. Hola, haber si alguien me consigue resolver esta duda,ke yo lo veo complicaillo. con este codigo comparo el valor de una caja de texto con ...
  #1 (permalink)  
Antiguo 20/01/2005, 12:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Analizar contenido de una caja de texto

Hola, haber si alguien me consigue resolver esta duda,ke yo lo veo complicaillo.

con este codigo comparo el valor de una caja de texto con la cadena "ejem"

if ($_POST['cajatexto'] == "ejem")

Si escribo en la caja de texto "ejem" perfecto...
.....pero si escribo: "hola ejem hola"

¿como seria para hacer ke mire todo el contenido de la caja de texto y si encuentra la palabra "ejem" se cumpla la condicion.?????
  #2 (permalink)  
Antiguo 20/01/2005, 12:10
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 13 años
Puntos: 0
if ($_POST['cajatexto'] == "ejem")
recuerda que eso indica que es identico.

if ($_POST['cajatexto'] = "ejem")
eso indica que contiene.

osea que la segunda es la que debes de usar, porque indicas qu contiene ese texto dentro de un mensaje. no se si me explico.

Saludos !
  #3 (permalink)  
Antiguo 20/01/2005, 12:43
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
Cita:
Iniciado por Danger_
if ($_POST['cajatexto'] = "ejem")
eso indica que contiene.
Eso no indica que "ejem" está dentro de $_POST['cajatexto'], lo que estás haciendo ahí es asignar a $_POST['cajatexto'] el valor "ejem" y pasa al bloque verdadero porque dicha asignación es diferente de 0 (que en php es equivalente a false)
Se puede utiliza expresiones regulares o la función strpos
Código PHP:
if(preg_match("|ejem|",$_POST['cajatexto'])){ // o puede strpos("ejem", $_POST['cajatexto'])!==false
        
print "Está";
    }
    else{
        print 
"No está";
    } 
http://tw.php.net/manual/es/function.strpos.php
http://tw.php.net/manual/es/function.preg-match.php
Saldudos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 20/01/2005, 14:06
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Hola gasias a los dos.

Probe de esta manera:

if(preg_match("|ejem|",$_POST['cajatexto'])){
print "Está";
}
else{
print "No está";
}


y de esta otra:


if(strpos("ejem", $_POST['cajatexto'])!==false)
print "Está";
}
else{
print "No está";
}

Pêro siempre se me cumple el else
  #5 (permalink)  
Antiguo 20/01/2005, 17:45
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
Hola, podrías mandar el texto con el que estás probando?, porque en tendría que funcionar sin problemas (aunque como está no funciona si es que se diferencian en minúsculas y mayúsculas):

Código PHP:
if(preg_match("`ejem`i",$_POST['cajatexto'])){ // o puede stripos("ejem", $_POST['cajatexto'])!==false
        
print "Está";
    }
    else{
        print 
"No está";
    } 
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 20/01/2005, 19:51
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 13 años
Puntos: 0
mmmmm, xknown, he aprendido algo el dia de hoy, jejejeje, havece vivimos engañados por cosas tan simples.

yaviz, prueba esto, haber si si sirve.

if($_POST['cajatexto'] = isset("ejem"))

no lo he probado nunca, pero puede que funcione...

Saludos !
  #7 (permalink)  
Antiguo 20/01/2005, 20:55
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 339
Antigüedad: 14 años, 3 meses
Puntos: 4
Exclamación

Una sugerencia !

Si estas usando una caja de texto para capturar la cadena "ejem", es decir, siempre estas esperando un mismo valor para el elemnto del formulario....

por que mejor no usas un CHeckbox ?....

Digo yo que eso te va mejor

Entonces supongamos que tienes 2 checkbox

Código PHP:

if($_POST['check1']):
print 
'el usuario selecciono el check 1<br>';
else:
print 
'el usuario selecciono el check 1<br>';
endif;

// el segundo checkbox2
if($_POST['check2']):
print 
'el usuario selecciono el check 2 <br>';
else:
print 
'el usuario selecciono el check 2 <br>';
endif; 
Colocales como valor 1 a los checkbox para que te devuelva true si fueron selecionados !

Saludos...
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #8 (permalink)  
Antiguo 20/01/2005, 21:58
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 14 años
Puntos: 5
Si quieras detectar que una palabra este contenida en un string puedes usar la función ereg o eregi, la diferencia es que la primera distingue las mayúsculas de las minúsculas(case senstive) en el patrón
Código PHP:
if (ereg("ejem",$_POST['cajatexto']))
{
//acción que sea

Es la función que yo uso cuando son comparaciones simples...

Salu2 ;)
__________________
[+]
[+]
  #9 (permalink)  
Antiguo 21/01/2005, 09:52
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 13 años
Puntos: 0
Muxas gasias a todos .
Yoseman,,me funciona perfecto .

Si podeis hexarme una manita en este post,,ke toy atascaillo.

http://www.forosdelweb.com/showthrea...o+contrase%F1a

Última edición por yaviz; 21/01/2005 a las 10:03
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 08:48.