Вы находитесь на странице: 1из 4

from tkinter import *

from tkinter.ttk import *


from tkinter import messagebox

file = open('username.txt', 'a')


file.close()
file = open('password.txt', 'a')
file.close()
file = open('question.txt', 'a')
file.close()
file = open('answer.txt', 'a')
file.close()
file = open('blocked.txt', 'a')

window = Tk()
window.title("Login/Register system")
window.geometry('600x125')
mistakes = 0
did=False

def answer():
global did
global mistakes
if did == False:
changeb.configure(state='enabled')
changeb.grid(column=4, row=3)
loginb.configure(state='disabled')
registerb.configure(state='disabled')
username.configure(state='disabled')
password.configure(state='disabled')
file = open('question.txt', 'r')
content=file.read().splitlines()
questionuser.insert(0, content[serialnumber])
questionuser.configure(state='disabled')
file.close()
did= True
return
if mistakes ==3:
messagebox.showinfo('Hey', 'The account was blocked')
file = open('blocked.txt', 'a')
file.write('\n' + username.get())
file.close()
changeb.configure(state='disabled')
loginb.configure(state='enabled')
registerb.configure(state='enabled')
username.configure(state='enabled')
password.configure(state='enabled')
questionuser.configure(state='enable')
questionuser.delete(0, END)
mistakes=0
return
file = open('answer.txt', 'r')
content = file.read().splitlines()
if answeruser.get() == content[serialnumber]:
print(serialnumber)
file.close()
file = open('password.txt', 'r')
content = file.read().splitlines()
correctpassword= content[serialnumber]
messagebox.showinfo("Hey","The asnwer was right, your password is '" +
correctpassword + "'")
loginb.configure(state='enabled')
registerb.configure(state='enabled')
username.configure(state='enabled')
password.configure(state='enabled')
questionuser.configure(state='enable')
questionuser.delete(0, END)
answeruser.delete(0, END)
file.close()

else:
mistakes+=1
messagebox.showinfo('Hey','The answer was wrong ' + str(mistakes) + '/4
mistakes made')

def login():
global serialnumber
lusername = username.get().lower()
lpassword = password.get()
blocked = False
file = open('blocked.txt', 'r')
content = file.read().splitlines()
for i in range(len(content)):
if lusername == content[i]:
blocked = True
messagebox.showinfo('Hey', 'This account was blocked')
file.close()
return
else:
file.close()

existing = False
file = open ('username.txt', 'r')
content = file.read().splitlines()
for i in range(len(content)):
if content[i] == lusername:
serialnumber = i
existing = True
break
if existing == False:
username.delete(0, END)
password.delete(0, END)
messagebox.showinfo('Ughhh', 'The username is incorrect')
file.close()
return
for i in range(len(content)):
if content[i] == lusername:
serialnumber = i
existing = True
break
file.close()
rightp = False
file = open('password.txt', 'r')
content = file.read().splitlines()
if lpassword == content[serialnumber]:
rightp = True
messagebox.showinfo('Hey!', 'You have succesfully been logged in your
account')
else:
password.delete(0, END)
messagebox.showinfo('Ughhh ', 'The password you entered is wrong')
file.close()
answer()

def register():
rusername = username.get().lower()
rpassword = password.get()
for i in range(len(rusername)):
if rusername[i] == ' ':
username.delete(0, END)
password.delete(0, END)
messagebox.showinfo('Hey', 'You can not use space in your username')
return
if rusername == "*case_sensitive*":
username.delete(0, END)
messagebox.showinfo('Hey', 'You can not use with that username')
return
if rpassword == "*not_case_sensitive*":
password.delete(0, END)
messagebox.showinfo('Hey', 'You can not use that password')
return
if len(rusername) < 4:
username.delete(0, END)
password.delete(0, END)
messagebox.showinfo("Carefull", "Your username must be atleast 5 characters
long")
return
if len(rpassword) < 5:
password.delete(0, END)
messagebox.showinfo("Carefull", "Your password must be atleast 6 characters
long")
return
file = open('username.txt', 'r')
content = file.read().splitlines()
existingu = False
for i in range(len(content)):
if content[i] == rusername:
existingu = True
else:
existingu = False
if existingu == True:
username.delete(0, END)
password.delete(0, END)
messagebox.showinfo("Hey!", "This username already exists")
return
for i in range(len(content)):
if content[i] == rusername:
existingu = True
else:
existingu = False
file.close()
file = open('question.txt', 'a')
if len(questionuser.get()) > 5:
file.write('\n' + questionuser.get())
else:
questionuser.delete(0, END)
messagebox.showinfo('Hey!' ,'The question must be atleat 6 characters long')
file.close()
return
file.close()
file = open('answer.txt', 'a')
if len(answeruser.get()) > 1:
file.write('\n' + answeruser.get())
else:
answeruser.delete(0, END)
messagebox.showinfo('Hey!','The answer must be atleast 2 characters long')
return
file.close()
file = open('username.txt', 'a')
file.write('\n' + rusername)
file.close
file = open('password.txt', 'a')
file.write('\n' + rpassword)
file.close
username.delete(0, END)
password.delete(0, END)
questionuser.delete(0, END)
answeruser.delete(0, END)
messagebox.showinfo('Congratulations', 'You have succesfully created your
account')

changeb = Button(window, text='Try', command=answer, state='disabled')


changeb.grid(column=4, row=3)
questionlabel = Label(window, text="Question")
questionlabel.grid(column=3, row=1)
questionuser = Entry(window, width=30)
questionuser.grid(column=4, row=1)
answeruser = Entry (window, width=20)
answeruser.grid(column=4, row=2)
answerlabel = Label(window, text="Answer")
answerlabel.grid(column=3, row=2)
hello = Label(window, text="Welcome to Login/Register system")
hello.grid(column=0, row=0)
textl = Label(window, text="Username")
textl.grid(column=0, row=1)
username = Entry(window, width=20)
username.grid(column=1, row=1)
username.insert(0, "*case_sensitive*")
txtp = Label(window, text="Password")
txtp.grid(column=0, row=2)
password = Entry(window,width=20, show="*")
password.grid(column=1, row=2)
loginb = Button(window, text="Login", command=login)
loginb.grid(column=0, row=3)
registerb = Button(window, text="Register", command=register)
registerb.grid(column=1, row=3)

window.mainloop()

Вам также может понравиться