Jump to content
Fórum Script Brasil
  • 0

Me ajudem? Programa Login com TKinter


erick-py
 Share

Question

É 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

Edited by erick-py
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...