Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Precisava desenvolver uma verificação que não permitisse a criação de logins parecidos...
Exemplo: Um usuário criou o login-> Lombarca, outro usuário não poderia criar nada parecido, como-> Lonbarca, trocando apenas o M por N.
Tem alguma forma que de fazer uma verificação desse tipo?
Alguem pode me dar um caminho.
Abraços!
Você não intendeu meu!
Se o login for igual lógico que não irá entrar.
Mas eu não quero apenas isso, eu quero que ele faça uma verificação se o login for parecido ele não deixa o usuário usar.
Se alguem registrou Halan não quero que ele aceite alguem registrar HALAM com M no final.
É possível fazer algo do tipo?
Não sei, mas seria algo bastante complexo.
Primeiro, a parte fácil: você teria que listar todos os os nomes de usuários. Agora a parte difícil: Depois, ao registrar um novo usuário, o PHP deve verificar letra por letra se tem uma entrada parecida. Exemplo:
Contar as letras, e salvar cada uma em uma entrada de array.
Depois, fazer o mesmo com o login enviado e verificar se as entradas das arrays são iguais, assim:
$nome = array('A','l','a','n');
$entrada = array('A','l','a','m');
//usar uma lógica que mostre a porcentagem
//de igualdade entre essas arrays
//e comparar com a porcentagem máxima pre-definida por você.
echo '"Alan" é 75% igual a "Alam".';
Espero que tenha compreendido a lógica.
Aviso: Não recomendo o uso deste tipo de sistema caso número de registros for grande, pois seu site pode ter problemas de performance para comparar várias entradas com a enviada.
Qual é o propósito disto?
Imagina quando o cara estiver se cadastrando e ver uma mensagem de erro:
"Login muito parecido com outro já existente no sistema. Tente outro (menos parecido)".
>
Imagina quando o cara estiver se cadastrando e ver uma mensagem de erro:
"Login muito parecido com outro já existente no sistema. Tente outro (menos parecido)".
Né?! Isso só vai servir mesmo pra sobrecarregar o sistema, fazer várias voltas de loop com várias condicionais em cada uma...
:!:
Claro que tem, no banco de dados, ele tem o seu login, se não bater com o que está no banco, não entra ;)