Foros del Web » Programando para Internet » PHP »

problema con ereg

Estas en el tema de problema con ereg en el foro de PHP en Foros del Web. bueno estoy queriendo comprobar un campo que contiene el año.Y me pasa lo siguiente: Código PHP: if( strlen ( $año )!= 4  && ! ereg ( ...
  #1 (permalink)  
Antiguo 14/02/2008, 13:26
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
problema con ereg

bueno estoy queriendo comprobar un campo que contiene el año.Y me pasa lo siguiente:

Código PHP:
if(strlen($año)!=&& !ereg("^[0-9]+$",$año)){
echo 
"Ingrese un año válido.";

Compruebo que el campo contenga 4 caracteres y sean numericos, pero no anda.

Alguien sabe que he hecho mal?
  #2 (permalink)  
Antiguo 14/02/2008, 13:44
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: problema con ereg

Hola kokoou, proba esto:

Código PHP:
if(!ereg("^[0-9]{4}$",$año)){
echo 
"Ingrese un año válido.";

O

Código PHP:
<?

if(strlen($año)!=|| !ereg("^[0-9]+$",$año)){
echo 
"Ingrese un a&ntilde;o v&aacute;lido.";


?>
  #3 (permalink)  
Antiguo 14/02/2008, 14:55
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Re: problema con ereg

Hola muchas gracias por la respuesta.

una duda, " || " ese no es el operador OR ?

yo necesito qe sean 4 caracteres Y qe sean numericos.
  #4 (permalink)  
Antiguo 14/02/2008, 15:16
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: problema con ereg

Si || es el operador OR.

En el if si ponés && se tiene que cumplir las 2 condiciones (que no sea numero y que no tenga 4 caracteres) para que el año no sea válido.
En cambio con || si no tiene 4 caracteres o si no son números te marcará error (es decir que el error saldrá si por lo menos se cumple una condición). Por eso el que debes usar es el ||.
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 05:59.