This is my function for the registration of my users, only that it does not have to prohibit the special characters, I tried to put preg_match, it works, I put symbols and I notice that it is not allowed, but when I register a normal username "without symbols" I still get the notice and I do not register
public function adduser() {
if(isset($_POST['reg_usuario']) && isset($_POST['reg_mail']) && isset($_POST['reg_contrasena']) && isset($_POST['reg_rcontrasena']))
{
$Getnombre = mysql_query("SELECT * FROM users WHERE username = '". $_POST['reg_usuario'] ."'");
$Getmail = mysql_query("SELECT * FROM users WHERE mail = '". $_POST['reg_mail'] ."'");
if(isset($_POST['g-recaptcha-response'])){
$captcha = $_POST['g-recaptcha-response'];
}
$look = substr($_POST['habbo-avatar'], 0, -9);
$gender = substr($_POST['habbo-avatar'], -1);
if(empty($_POST['reg_usuario']) || empty($_POST['reg_mail']) || empty($_POST['reg_contrasena']) || empty($_POST['reg_rcontrasena']))
{
$_SESSION['reg_error'] = 'No dejes los campos vacios';
return false;
}
elseif(mysql_num_rows($Getnombre) > 0)
{
$_SESSION['reg_error'] = 'El nombre de usuario ya esta en uso, pon otro';
return false;
}
elseif(mysql_num_rows($Getmail) > 0)
{
$_SESSION['reg_error'] = 'El email ya esta en uso, pon otro';
return false;
}
elseif($_POST['reg_contrasena'] !== $_POST['reg_rcontrasena'])
{
$_SESSION['reg_error'] = 'Las contraseñas no coinciden';
return false;
}
elseif(strlen($_POST['reg_usuario']) > 12 || strlen($_POST['reg_usuario']) < 3)
{
$_SESSION['reg_error'] = 'El nombre de usuario debe de tener entre 3 y 12 caracteres';
return false;
}
elseif(strrpos($_POST['reg_usuario'], "MOD-") !== false)
{
$_SESSION['reg_error'] = 'No puedes registrarte con el prefijo <i>MOD-</i>';
return false;
}
elseif(strrpos($_POST['reg_usuario'], " ") || strrpos($_POST['reg_usuario'], " ") !== false)
{
$_SESSION['reg_error'] = 'Tu nombre no puede contener espacios';
return false;
}
elseif(strrpos($_POST['reg_usuario'], ".") || strrpos($_POST['reg_usuario'], ".") !== false)
{
$_SESSION['reg_error'] = 'Tu nombre no puede contener puntos';
return false;
}
elseif (!$captcha)
{
$_SESSION['reg_error'] = 'Chequea el captcha de manera correcta';
return false;
}
else
{
mysql_query("INSERT INTO users (username, password, mail, look, gender, motto, ip_reg, portada, date_created) VALUES ('". $this->filtro($_POST['reg_usuario']) ."', '".$this->hasht($_POST['reg_contrasena'])."', '". $this->filtro($_POST['reg_mail']) ."', '". $look ."', '". $gender ."', '". mision ."', '". $this->ip() ."', '". portada ."', '" . time() ."')");
$_SESSION['username'] = $_POST['reg_usuario'];
$_SESSION['password'] = $_POST['reg_contrasena'];
return true;
}
}
}