Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/04/2016, 06:33
Avatar de jearj
jearj
 
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: modificar if para No permitir mas que numeros, letras y guiones

Gracias xerifandtomas
Más que nada es el tema de seguridad.
El problema es que no consigo que el nombre de usuario sea entre 4 y 15 caracteres. El error sale pero el nombre lo cambia aunque no cumpla los requisitos (entre 4 y 15 caracteres)

El otro punto es que solo quiero que permita letras, números y guiones, pero del resto de caracteres unos los admite y otros no, y no quiero que se pueda insertar este tipo de caracteres: ><$&Ç*’”?}{ etc.


Esto es lo que no me funciona correctamente:

Código PHP:
Ver original
  1. //Verificar que contenga caracteres permitidos
  2. if(!preg_match("/^[a-zA-Z0-9\-_]+$/", $usuario)){
  3.         header('Location: editarUsuario.php?error2=usuario');
  4.     $errores[]=true;
  5. return $errores;
  6. }
  7.  
  8. //Comprobar que el texto tenga un mínimo de 4 caracteres
  9. $minimocaracteres=4;
  10. if (strlen($usuario)<$minimocaracteres){
  11.         header('Location: editarUsuario.php?error3=usuario');
  12.     $errores[]=true;
  13. return $errores;
  14. }

El de los caracteres no permitidos no limita a letras, números y guiones exclusivamente.

El de limitar el numero de caracteres da el error pero cambia el nombre igualmente aunque sea menor de 4 caracteres. Además el código esta echo para el minino y me gustaría que fuese mínimo y máximo, pero no se como hacerlo.