Задать вопрос
@che4ry
Начинающий python-нист

Как проверить логин и пароль?

from tkinter import *
from tkinter import messagebox

logins = ["user0", "user1"]
passwords = ["pass0", "pass1"]

#функций которые должны производится при вводе логина и пароля
def messagebox1():
    messagebox.showinfo("ОШИБКА", "НЕПРАВИЛЬНЫЙ ЛОГИН ИЛИ ПАРОЛЬ")


def messagebox0():
    messagebox.showinfo("позравляю вы вошли", "регистрация проидена")


#действие очищающие окно
def state_score():
    destroy_object =[t1, log, regist]
    for object_name in destroy_object:
        object_name.destroy()

#создает окно ввода логина и пароля 
def far():
    state_score()
#функция проверки логина  и  пароля
    def enter():
        if login not in logins:
            messagebox1()
        else:
            messagebox0()
        if passwords[logins.index(login)] != password:
            messagebox1()

    login = tk.StringVar()
    password = tk.StringVar()

    login_label = Label(text="введите логин:")
    password_label = Label(text="введите пароль:")

    login_label.grid(row=0, column=0, sticky="w")
    password_label.grid(row=1, column=0, sticky="w")

    login_entry = Entry(textvariable=login)
    password_entry = Entry(textvariable=password)

    login_entry.grid(row=0, column=1, padx=5, pady=5)
    password_entry.grid(row=1, column=1, padx=5, pady=5)

    message_button = Button(text="вход")
    message_button.grid(row=2, column=1, padx=5, pady=5, sticky="e")
    message_button.config(command=enter)

#первоначальное окно 
root = Tk()
root.title("кнопка")
root.geometry("500x200+600+300")

t1 = Label(text="выберите вид входа",fg='white', bg="blue")
t1.config(font=('Times', 25))
t1.pack()

regist = Button(text="регистрация", background="#555", foreground="#ccc", font="20", pady="10", padx="10")
regist.config(command=state_score)
regist.pack()


log = Button(text="вход", background="#555", foreground="#ccc", padx="15", pady="7", font="13")
log.config(command=far)
log.pack()
# его запуск
root.mainloop()

Я не могу понять почему при вводе правильного логина вылезает ошибка о "неправильном логине и пароле".
  • Вопрос задан
  • 1568 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@maximq
QA Engineer
Ваша переменная Login возвращает объект. Нужно использовать метод .get() ; т.е использовать login.get() как на скриншоте ниже.
spoiler
5e6f59c77c0dc209445034.png

с переменной password так же следует поступить
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы