Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/10/2008, 22:59
Avatar de Ronruby
Ronruby
 
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problema con filtro de contenido de variable en php

Entonces no debes usar el signo de "!".
Porque si lo pones al preg_match dices: "Si tal cadena no concuerda con el patron, haz esto(setea una variable de error en tu caso)".
En tu caso el patron es a-zA-z, contrario a lo que quieres hacer.

Se puede resolver haciendolo de la siguiente manera;
if(preg_match("/^[^a-zA-Z\s]+$/",$_POST[nombre]))

Fijate en el ^ que esta en negrita. Cuando el signo ^ esta dentro de corchetes, se usa para negar.
Si dejas el patron asi como te dice estas diciendo:
"Si la expresion regular es cualquier cosa excepto caracteres alfabeticos y espacio, continua".
Ya luego pones un else para setear el error, o usas ! para ya asi negar.