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

Me ajudem? Programa Login com TKinter


erick-py

Pergunta

É pra aparecer "Senha inválida" se só a senha estiver errada, "Usuário inválido" se o usuário estiver errado, "Usuário e Senha inválidos" quando ambos estiverem errados e, finalmente, "Bem vindo!" quando for digitado o usuário e senha tudo certo. Mas independente do que digito SEMPRE aparece "Usuário e Senha inválidos"

Não consigo entender o por quê. Eu coloquei print(e a condição) pra cada um dos if  pra ver se tá dando True e False certinho e ESTÁ. Não consigo entender porque sempre só vai no "Usuário e Senha Inválidos", então. 

from tkinter import *

def database():

    usuarios = open('usuarios.txt','r')
    senhas = open('senhas.txt','r')
    
    if entradaUsuario.get() in usuarios and entradaSenha.get() in senhas:
            resultado['text'] = 'Bem vindo!'
            resultado['fg'] = 'blue'
            
    if entradaSenha.get() not in senhas and entradaUsuario.get() in usuarios:
             resultado['text'] = 'Senha inválido!'
             resultado['fg'] = 'red'
             
    if entradaUsuario.get() not in usuarios and entradaSenha.get() in senhas:
            resultado['text'] = 'Usuário inválido'
            resultado['fg'] = 'red'
            
    if entradaUsuario.get() not in usuarios and entradaSenha.get() not in senhas:
        resultado['text'] = 'Usuário e Senha inválidos'
        resultado['fg'] = 'red'

    usuarios.close()
    senhas.close()
 

i = Tk()

i.title('Login')

msgUsuario = Label(i, text = 'Usuário')
msgUsuario.pack()

entradaUsuario = Entry(i)
entradaUsuario.pack()

msgSenha = Label(i, text = 'Senha')
msgSenha.pack()

entradaSenha = Entry(i)
entradaSenha.pack()

botãoLogin = Button(i, text = 'Entrar', command = database)
botãoLogin.pack()

resultado = Label(i, text = "")
resultado.pack()

i.mainloop()

NaoTaDandoCerto.jpg

interface.png

Editado por erick-py
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

.read() lê o arquivo e retorna um string do mesmo

.readlines() lê o arquivo e retorna uma lista usando '\n' como separador

 

Tem os bancos de dados que você pode encontrar nas áreas de bancos de dados aqui do forum

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,8k
×
×
  • Criar Novo...