Foros del Web » Programando para Internet » PHP »

Funcion ereg comparando mas de un signo

Estas en el tema de Funcion ereg comparando mas de un signo en el foro de PHP en Foros del Web. Hola usando ereg para comparar, todo me iva perfecto ,por ejemplo comparando la palabra "ejemplo" con una caja de texto con el metodo post..... if ...
  #1 (permalink)  
Antiguo 23/01/2005, 07:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 11 meses
Puntos: 0
Funcion ereg comparando mas de un signo

Hola usando ereg para comparar, todo me iva perfecto ,por ejemplo comparando la palabra "ejemplo" con una caja de texto con el metodo post.....


if (ereg("ejemplo",$_POST['cajatexto']))
{
echo"<script type='text/javascript'> alert('hola');</script>";
}
else
{
echo"<script type='text/javascript'> alert('adios');</script>";
}


el problema lo encontre cuando en vez de usar palabras como "ejemplo" use "</" o "<?" signos como estos,, siempre se cumple la condicion.

Alguien sabe porque?
  #2 (permalink)  
Antiguo 23/01/2005, 08:46
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 21 años, 5 meses
Puntos: 0
y si usas "strcmp (cad1, cad2)" ???
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #3 (permalink)  
Antiguo 23/01/2005, 16:53
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 11 meses
Puntos: 0
Eso ya lo probe pero no me funciona


A no se ke haga algo mal

if (strcmp ("script",$_POST['camponombre']))

asi es como lo pongo
  #4 (permalink)  
Antiguo 24/01/2005, 09:49
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 21 años, 5 meses
Puntos: 0
Pero tienes que decirle que sea igual a cero para que sean iguales, de esta forma:

if (strcmp ("script",$_POST['camponombre'])==0)

Es decir al hacer el strcmp lo que hace es comparar dos cadenas. En el caso de ser iguales devuelve 0 por eso deves ponerlo como te indico.
En el caso de que la primera sea mayor que la segunda devuelve 1 (es mayor por la primera letra (cuenta su valor en binario)).
En el caso de que la primera sea menor que la segunda devuelve -1
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #5 (permalink)  
Antiguo 24/01/2005, 10:11
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
Hola!
Te doy algunas sugerencias.....
Si vas a comparar dos cadenas teniendo en cuenta las mayusculas/minuscolas no tiene sentido (y es una perdida de tiempo, mas que nada con ereg()) usar egreg() o strcmp(); en cambio comparalas directamente en el if()
Código PHP:
if("ejemplo" == $_POST['cajatexto']) {

// es verdadero solamente "ejemplo" y 
// no "EJEmPLO" 
Por otro lado, si no te interesa la distincion entre mayus/minus ahí si.... usas strcasecmp() o eregi().

Código PHP:
if (strcasecmp("script",$_POST['camponombre'])==0) {
// es verdadero so camponiombre vale "script" o "SCRIPT" o "SCRIpt" 
Saludos
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 21:34.