2011-10-22 16 views
5

Agradecería mucho ayuda. Las actualizaciones de mi servidor en el servidor han provocado que mi formulario de comentarios arroje dos errores de validación. El primero es: preg_match() devuelve Warning: preg_match() [function.preg-match]: Compilación fallida: rango fuera de servicio en la clase de caracteres en el desplazamiento 13 en [ubicación del script aquí y error de línea] - el segundo es en comprobación del sujeto en 14. compensarError de compilación de PHP 5.2 preg_match()

Para ello, en el cheque dirección de correo electrónico: cheque

if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail'])) 

y sujeto:

if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject'])) 

no estoy familiarizado con PHP, pero puede cortar y pegar! Mi sitio web es frowey.com y es el formulario de comentarios en contacto con nosotros que ha comenzado a generar un error después de alojar las actualizaciones del sistema operativo. Gracias por adelantado.

Respuesta

1
if (preg_match('/[^a-zA-Z0-9_\.-]/', $_POST['txtEmail'])) 

if (preg_match('/[^a-zA-Z0-9:\?\.-]/', $_POST['txtSubject'])) 
+0

Gracias grandes para ambas respuestas. Voy a verlo ahora y te haré saber el resultado. – mochj

+0

¡Ordenado! Gracias. También es necesario realizar un cambio en la validación de la dirección de correo electrónico. Todo ahora funciona. Gracias de nuevo. – mochj

9

Necesita escapar del - menos. Tiene un significado especial con las clases de caracteres, como lo indica el mensaje de error. Utilice una barra invertida antes de la deducción:

preg_match('/[^a-zA-Z0-9_\-.]/' 

(Alternativamente, el - puede ser la primera o la última cosa en el grupo de caracteres, por lo que pierde su función especial.)

+0

Muchas gracias. Lo estoy verificando ahora. – mochj

+0

Todo ahora funciona. Gracias de nuevo. Ambas respuestas fueron muy útiles. Muy apreciado. – mochj

Cuestiones relacionadas