Ir para conteúdo
Fórum Script Brasil
  • 0

Verifica se nome já existe!


jpaulol

Pergunta

Galera e o seguinte estou com um script de cadastro e quero colocar uma verificação se o nome já exist, porque eu uso o nome pra exibir os dados da pessoa. Consegui assim:

if($_GET['acao']=="atualizarperfil")
{
    $nome    = $_POST['nome'];
    $cidade    = $_POST['cidade'];
    $estado    = $_POST['estado'];
    $cep    = $_POST['cep'];
    $orkut    = $_POST['orkut'];
    if(!(eregi(".JPG",$userfile_name) OR eregi(".GIF",$userfile_name)))
    {
        $m=base64_encode("Arquivos permitidos: .JPG ou .GIF");
        header("Location: index2.php?area=perfil&erro=ok&m=$m");
        exit;
    }
    if($userfile_size>3000000) // Valor em bytes (+-537kb)
    {
        $m=base64_encode("Arquivo muito grande, favor escolher outro");
        header("Location: index2.php?area=perfil&erro=ok&m=$m");
        exit;
    }
    if(eregi(".JPG",$userfile_name))
    {
        $fotoGrava=$loginS."_foto.jpeg";
    }
    if(eregi(".GIF",$userfile_name))
    {
        $fotoGrava=$loginS."_foto.gif";
    }
    if(is_uploaded_file($userfile))
    {
    move_uploaded_file($userfile,"./fotos/".$fotoGrava);
    }
    
    //Verifica se nome já existe na DB !
        $sql=mysql_query("SELECT login FROM $tabelaPerfil WHERE nome='$nome'");
    if(mysql_num_rows($sql)>0)
    {
        $nome=base64_encode($nome);
        $m=base64_encode("Por favor insira outro nome, esse já está sendo utilizado");
        header("Location: index2.php?erro=ok&m=$m&l=$nome");
        exit;
    }    
    
    $nome    = ucwords($nome);
    $cidade    = ucwords($cidade);
    $estado    = strtoupper($estado);
    $atualizaP    = mysql_query("UPDATE $tabelaPerfil SET nome='$nome',cidade='$cidade',estado='$estado',cep='$cep',orkut='$orkut',foto='$fotoGrava' WHERE login='$loginS'") OR die("Erro ao inserir dados");
    if($atualizaP)
    {
        echo"<script>java script:window.location=\"atualizaDados.php\";</script>";
    }
}
?>

Mas se a pessoa for atualiza dnv algum dado, avisa q o nome já existe, tem como alterar isso??

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boa noite..

Se é o que eu entendi o problema está no fato de que se você não quer alterar o nome, mas sim apenas algum outro dado, como cidade ou estado, e ai ele diz q o nome já existe certo??

Pra corrigir isso na sua consulta, você deve fazer a verificação se já existe o nome e q seja diferente do usuario que está alterando seus dados.

Ou seja, não sei se você pega os dados de uma pessoa logada....mas ai fica facil.

Digamos q a pessoa loga no sistema, e você grava o nome dela numa sessao $nome_user = $_SESSION["nome"];

Ai na hora daquela consulta você faz:

$sql=mysql_query("SELECT login FROM $tabelaPerfil WHERE nome='$nome' AND nome <> '$nome_user'");

e mais uma coisinha...tem certeza que é o nome que deve ser diferente??? não seria o login??

espero ter ajudado...qualquer duvida posta ai

abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
Se é o que eu entendi o problema está no fato de que se você não quer alterar o nome, mas sim apenas algum outro dado, como cidade ou estado, e ai ele diz q o nome já existe certo??
Sim, ao atualizar dados como cidade ele informa q o nome já existe!!

e mais uma coisinha...tem certeza que é o nome que deve ser diferente??? não seria o login??

Não seria o login porque eu uso duas tabelas, uma tabela com os dados de login e senha e outra tabela com os dados da pessoa, como cidade, e-mail...

Coloquei o que você me indicou ficando assim :

//Verifica nome !
        $nome_user = $_SESSION['nome']
        $sql=mysql_query("SELECT login FROM $tabelaPerfil WHERE nome='$nome' AND nome <> '$nome_user'");
    if(mysql_num_rows($sql)>0)
    {
        $nome=base64_encode($nome);
        $m=base64_encode("Por favor insira outro nome, esse já está sendo utilizado");
        header("Location: index2.php?erro=ok&m=$m&l=$nome");
        exit;
    }
Mas ele informa uma erro, na linhda 124 que e a linha do $sql. Erro:
Parse error: syntax error, unexpected T_VARIABLE in /home/hitbrasi/public_html/cadastro/index2.php on line 124
$sql:
$sql=mysql_query("SELECT login FROM $tabelaPerfil WHERE nome='$nome' AND nome <> '$nome_user'");

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...