#import Module
from tkinter import *
from tkinter import font as tkFont
import sqlite3
import webbrowser
from tkinter import messagebox
#create root window
root = Tk()
#inintalise connection to databsse and create cursor
conn = sqlite3.connect(r"C:\Users\lukec\Desktop\Comp NEA\Data base for project.db")
cur = conn.cursor()
#root window title and dimension
root.title("FORMULA ONE MANAGER")
#Set geomtry(WxH)
root.geometry('600x400')
#add a label to root window
titlelbl = Label(root, text = "FORMULA ONE MANAGER",
fg = "white",bg = "#8B0000",
width=50, height=5)
titlelbl.grid(column=0,row=0)
#create a font
my_font =("Helvetica", 20, "bold", "italic")
#configure font onto title label
titlelbl.configure(font=my_font)
#add username entry field
Username = Label(root, text = "USERNAME")
Username.grid(column=0,row=21)
Usernametxt=Entry(root,width=20)
Usernametxt.grid(column=0,row=22)
#add password entry field
Password = Label(root, text = "PASSWORD")
Password.grid(column=0,row=24)
Passwordtxt=Entry(root,width=20)
Passwordtxt.grid(column=0,row=25)
#submit function
def register():
conn = sqlite3.connect(r"C:\Users\lukec\Desktop\Comp NEA\Data base for project.db")
cur = conn.cursor()
#inserting into databse tables
cur.execute("INSERT INTO Users (Username,Password) VALUES (?,?)",(Usernametxt.get() ,Passwordtxt.get()))
conn.commit()
conn.close()
Usernametxt.delete(0,END)
Passwordtxt.delete(0,END)
#search the datbase function
def search():
conn = sqlite3.connect(r"C:\Users\lukec\Desktop\Comp NEA\Data base for project.db")
cur = conn.cursor()
usernamesearch=cur.execute("SELECT * FROM Users WHERE Username = ?",(Usernametxt))
if usernamesearch == Usernametxt:
user_found=True
passwordsearch=cur.execute("SELECT * FROM Users WHERE Password = ?",(Passwordtxt))
if passwordsearch == Passwordtxt:
pass_found=True
#function to link main menu page
def login(root,Usernametxt,Passwordtxt):
conn = sqlite3.connect(r"C:\Users\lukec\Desktop\Comp NEA\Data base for project.db")
cur = conn.cursor()
user_found=False
pass_found=False
cur.execute("SELECT * FROM Users WHERE Username =:Username",{"Username":str(Usernametxt,)})
userresult=cur.fetchall()
if userresult:
user_found=True
else:
user_found=False
cur.execute("SELECT * FROM Users WHERE Password =:Password",{"Password":str(Passwordtxt,)})
passresult=cur.fetchall()
if passresult:
pass_found=True
else:
pass_found=False
if user_found == True and pass_found== True:
messagebox.showinfo(title="login Message",message="Login Failed, Incorect Username or Password")
else:
webbrowser.open_new(r"C:\Users\lukec\Desktop\Comp NEA\Main Menu MK3.py")
conn.commit()
conn.close()
Usernametxt.delete(0,END)
Passwordtxt.delete(0,END)
# create submit button
register_btn= Button(root, text="Register",command=register)
register_btn.grid(column=0,row=30,pady=10)
#login button
login_btn = Button(root,text="Login",command=login)
login_btn.grid(column=0,row=32,pady=10)
#spacer
spacer1 = Label(root, text="",pady=10)
spacer1.grid(row=40, column=0)
#bottom label
checkerd_bottom = Label(root,text="MOTORSPORTSIMS.COM",
fg = "#8B0000",bg="black",
width=122, height=2)
checkerd_bottom.grid(column=0,row=50)
conn.commit()
conn.close()
#execute Tkniter
root.mainloop()
< /code>
У меня были ошибки с каждым решением, которое я могу найти на данный момент, он делится на поиске Datbase и возвращается, если что -то есть, или нет, это всегда позволяет вам войти в систему
Спасибо за Любая справка
Основной частью, которую я редактировал, является функцией входа в систему, в которой регистр и другие функции все работают как идентификатор, как они. /> Использование tkinter для графического интерфейса
Это школьный проект NEA, так что моя ноуленда программирования не удивительно, поэтому извините, если это что -то очевидное
Подробнее здесь: https://stackoverflow.com/questions/794 ... ase-and-if