Verificar se já existe um nickname
Ola pessoal, tudo bem ?
Não me lembro se já postei algo relacionado, mas segue minha dúvida:
A ideia do código abaixo, é verificar como base no nome informado (nome completo) se já existe na base um cadastro com nickname, apelido e existindo, gerar o nome acrescentando um número no final.
Por exemplo:
Existe cadastrado
Nome :JORGE DA SILVA
Nickname: jorgesilva
Nome :JORGE DA SILVA
Nickname: jorgesilva1
Ao informar o próximo nome que também é JORGE DA SILVA, o sistema deverá gerar o nickname jorgesilva2.
Meu código abaixo não está gerando e fica em loop.
Alguém consegue me auxiliar ?
Abraços,
<?php
function removecaracteres($string) {
// matriz de entrada
$what = array( 'ä','ã','à','á','â','ê','ë','è','é','ï','ì','í','ö','õ','ò','ó','ô','ü','ù','ú','û','À','Á','Ã','É','Í','Ó','Ú','ñ','Ñ','ç','Ç','-','(',')',',',';',':','|','!','"','#','$','%','&','/','=','?','~','^','>','<','ª','º' );
// matriz de saída
$by = array( 'a','a','a','a','a','e','e','e','e','i','i','i','o','o','o','o','o','u','u','u','u','A','A','A','E','I','O','U','n','n','c','C','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_' );
// devolver a string
return str_replace($what, $by, $string);
}
//Analise pelo nome completo
/////////////////////////////
$nome = $_POST['nome'];
echo "NOME: ".$nome . "</br>";
$string = removecaracteres($nome);
$words = explode(" ", $string);// Primeira palavra:
$primeiraPalavra = $words[0];
// Última palavra
$ultimaPalavra = $words[count($words)-1];
//Converte para minusculo
$nick1= strtolower($primeiraPalavra.''.$ultimaPalavra);
$qry1 = mysql_query("select nickname from candidato where nickname = '$nick1' ");
$res1 = mysql_fetch_assoc($qry1);
$nickname1 = $res1['nickname'];
echo "Nickname gerado com base no nome: " . $nick1 ."<br>";
echo "Ja existe este nickname: " .$nickname1."<br><br>";
if ($nick1 == $nickname1){
$n1 = 1;
$nickname1 = $nick1;
while ($nick1 == $nickname1) {
$nickname1 = $nick1.$n1;
$qry = mysql_query("select nickname from candidato where nickname = '$nickname1' ");
$res = mysql_fetch_assoc($qry1);
$nickname1 = $res1['nickname'];
$n++;
echo $n1."º Teste: " . $nickname1."<br>";
}
$nick1 = $nickname1;
echo "<br>Nickname sugerido: ". $nickname1."<br>";}else{
$nick1 = $nickname1;
echo "Seu nickname sera: " . $nickname1;
}
?>Discussão (3)
Carregando comentários...