
Bloquear Acentos
Publicado por Tomás (81 intervenciones) el 24/10/2013 22:42:20
Hola, muy buenas.
Tengo el siguiente problema...
Cómo puedo hacer que la variable: $usuario haga referencia a la función para detectar y bloquear acentos.
Hay el code.
Saludos.
Tengo el siguiente problema...
Cómo puedo hacer que la variable: $usuario haga referencia a la función para detectar y bloquear acentos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
$fecha = date("Y-m-d H:i:s");
$usuario = utf8_decode(mysqli_real_escape_string($conexion, $_POST['usuario']));
$password = utf8_decode(mysqli_real_escape_string($conexion, $_POST['password']));
$repassword = utf8_decode(mysqli_real_escape_string($conexion, $_POST['repassword']));
$nombre = utf8_decode(mysqli_real_escape_string($conexion, $_POST['nombre']));
$apellidos = utf8_decode(mysqli_real_escape_string($conexion, $_POST['apellidos']));
$email = utf8_decode(mysqli_real_escape_string($conexion, $_POST['email']));
$localidad = utf8_decode(mysqli_real_escape_string($conexion, $_POST['localidad']));
$pass = hash('md5', $password);
$seguridad = "ETomas";
function quitarAcentos($text)
{
$text = htmlentities($text, ENT_QUOTES, 'UTF-8');
$text = strtolower($text);
$patron = array (
// Espacios, puntos y comas por guion
'/[\., ]+/' => '-',
// Vocales
'/à/' => 'a',
'/è/' => 'e',
'/ì/' => 'i',
'/ò/' => 'o',
'/ù/' => 'u',
'/á/' => 'a',
'/é/' => 'e',
'/í/' => 'i',
'/ó/' => 'o',
'/ú/' => 'u',
'/â/' => 'a',
'/ê/' => 'e',
'/î/' => 'i',
'/ô/' => 'o',
'/û/' => 'u',
'/ã/' => 'a',
'/&etilde;/' => 'e',
'/ĩ/' => 'i',
'/õ/' => 'o',
'/ũ/' => 'u',
'/ä/' => 'a',
'/ë/' => 'e',
'/ï/' => 'i',
'/ö/' => 'o',
'/ü/' => 'u',
'/ä/' => 'a',
'/ë/' => 'e',
'/ï/' => 'i',
'/ö/' => 'o',
'/ü/' => 'u',
// Otras letras y caracteres especiales
'/å/' => 'a',
'/ñ/' => 'n',
// Agregar aqui mas caracteres si es necesario
);
$text = preg_replace(array_keys($patron),array_values($patron),$text);
return $text;}
$e = mysqli_query($conexion, "SELECT * FROM mytomas WHERE usuario = '".$usuario."'")or die("error en la comprobacion del registro");
$ee = mysqli_query($conexion, "SELECT * FROM mytomas WHERE email = '".$email."'")or die("error en la comprobacion del registro");
if($_POST['usuario'] == '' or $_POST['password'] == '' or $_POST['repassword'] == '' or $_POST['nombre'] == '' or $_POST['apellidos'] == '' or $_POST['email'] == '' or $_POST['localidad'] == ''){
echo "Lo sentimos, pero no puede dejar ningún campo en blanco.";
}
else if(stripAccents($usuario)){
echo "Lo sentimos no se acentan carácteres, cómo acentos, etc..";
}
else if($_POST['password'] != $_POST['repassword']){
echo "Las contraseñas no coinciden.";
}
else if(quitarAcentos($text)){
echo "Lo sentimos no se acentan carácteres, cómo acentos, etc..";
}
else if(mysqli_num_rows($e) > 0){
echo "El usuario ya existes. Por favor escoja otro.";
}
else if(mysqli_num_rows($ee) > 0){
echo "El email ya existe. Por favor escoja otro.";
}
else if($_POST['seguridad'] != $seguridad){
echo "La pregunta de seguridad es errónea. Intentelo de nuevo. (ETomas)";
}
else{
$entrooo = mysqli_query($conexion, "INSERT INTO mytomas(usuario,password,nombre,location,fecha,apellidos,email) VALUES ('".stripAccents($usuario)."','$pass','$nombre','$localidad','$fecha','$apellidos','$email')")or die("error en la introduccion");
echo "Usted se ha registrado satisfactoriamente. Gracias.";
}
Hay el code.
Saludos.
Valora esta pregunta


0