Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal, tudo bem ?
Estou com um cenário que para mim é novo...
Tenho um cadastro de usuario simples, porém quando o mesmo estiver informando seus dados, vai existir um campo chamado [NOME DO USUARIO], este deverá ser gerado automaticamente após o mesmo informa seu nome completo no campo [NOME].
Este nome de usuário não pode existir no banco de dados, ou seja, caso exista adicionar um numero qualquer para diferenciar.
É bem parecido com a ideia de criar uma conta de e-mail no GMAIL.
Alguém já fez esse tipo de coisa ?
Opa. blz Wesley ?
Isso mesmo, essa é a ideia.
Junte os valores do campo e deixe tudo minúsculo, se já existir, adicione +1 na frente.
>
Ola pessoal, tudo bem ?
Estou com um cenário que para mim é novo...
Tenho um cadastro de usuario simples, porém quando o mesmo estiver informando seus dados, vai existir um campo chamado [NOME DO USUARIO], este deverá ser gerado automaticamente após o mesmo informa seu nome completo no campo [NOME].
Este nome de usuário não pode existir no banco de dados, ou seja, caso exista adicionar um numero qualquer para diferenciar.
É bem parecido com a ideia de criar uma conta de e-mail no GMAIL.
Alguém já fez esse tipo de coisa ?
use uma função para filtrar isso, troque todos os caracteres especiais (letras acentuadas e outros), converta espaços em branco por "_" ou "-", e se mesmo assim o usuário existir, use o nick dele do email, assim diminui a chance de existir.
$email = "apelido@email.com";
$pega_apelido = explode( "@", $email);
echo $pega_apelido[0];
e caso já esteja utilizando ativação da conta, pegue o que resta do apelido (email) e gere um link para o usuario clicar para ser redirecionado.
exemplo:
<a href="<?=$pega_apelido[1];?>" target="_new"><?=$pega_apelido[1];?></a>
Função para converter caracteres:
function caracteres($texto) {
$troca = array("Á", "á", "À", "à", "â", "Â", "ã", "Ã", "é", "É", "è", "È", "ê", "Ê", "í", "ì", "Í", "Ì", "Ó", "Ò", "Ô", "Õ", "ó", "ò", "ô", "õ", "Ú", "Ù", "Ü", "ú", "ù", "ü", "ç", "Ç", " ", ".", "~", "^", "´", "`", "¨", "", "!", "@", "#", "$", "%", "¨", "&", "*", "(", ")", "+", "|", "\"", "?", "/", "*", "¹", "²", "³", "£", "¢", "¬", "§", "º", "ª", " ", ";", ":", "°", "<", ">", ",", '"', "'", "{", "}", "[", "]", "=");
$por = array("a", "a", "a", "a", "a", "a", "a", "a", "e", "e", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "o", "o", "o", "u", "u", "u", "u", "u", "u", "c", "c", "-", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "-", "", "", "", "", "", "", "");
$novoTexto = str_replace($troca, $por, $texto);
return strtolower($novoTexto);
}android17,
partindo do principio de sua sugestão, pegando parte do e-mail (antes do @), montei a verificação desta forma, veja:
<?php
require('conexao.php');
$nick = "roberto";
$qry = mysql_query("select * from candidato where nickname = '$nick' ");
$res = mysql_fetch_assoc($qry);
$nickname = $res['nickname'];
echo "Nick inofrmado: " . $nick ."<br>";
echo "Ja existe este nickname: " .$nickname."<br><br>";
if ($nick == $nickname){
$n = 1;
$nick = $nickname;
while ($nick == $nickname) {
$nick = $nickname.$n;
$qry = mysql_query("select * from candidato where nickname = '$nick' ");
$res = mysql_fetch_assoc($qry);
$nickname = $res['nickname'];
echo "Este tambem ja existe: " . $nickname."<br>";
$n++;
}
echo $n . "<br>";
echo "nickname sugerido: ". $nick."<br>";
}else{
echo "Seu nick sera: " . $nick;
}
?>
Até que funcionou desta forma, mas dá para melhorar, não ?
Claro, este que mencionei acima foi para testar...
Como você quer? Se eu colocar Wesley Inacio, meu usuário vai ser wesleyinacio e se já estiver vai ser wesleyinacio1?