from tkinter import messagebox import authentication import tkinter as tk class login: def __init__(self,window): self.window = window self.flag = 0 self.frame = tk.Frame(self.window,bg='grey71',width=700,height=400) def login(self): self.label = tk.Label(self.frame,text='Log In Page',bg='grey6',fg= 'white',font=('Arial',14,'bold')) self.name_label = tk.Label(self.frame,text='Enter Username: ',bg='grey71',font=('Arial',14,'bold')) self.namee_text=tk.StringVar() self.namee = tk.Entry(self.frame,textvariable=self.namee_text,fg='gray',width=25,font=('Arial',14,'bold')) self.password1 = tk.Label(self.frame,text='Enter Password : ',bg='grey71',font=('Arial',14,'bold')) self.password1e_text=tk.StringVar() self.password1e = tk.Entry(self.frame,textvariable=self.password1e_text,bg='White',fg='gray',width=25,font=('Arial',14,'bold'),show='*') self.buttonlogin = tk.Button(self.frame,text='LOG IN',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.login_admin) if self.flag !=0: self.buttonAdmin = tk.Button(self.frame,text='Admin',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.adminbutton2) else: self.buttonAdmin = tk.Button(self.frame,text='Admin',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.adminbutton) self.buttonStudent = tk.Button(self.frame,text='Student',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.studentbutton) #geometry manager: self.label.place(x=5,y=2,width=200,height=40) self.name_label.place(x=100,y=140,width=240,height=60) self.namee.place(x=380,y=150,width=200,height=30) self.password1.place(x=85,y=220,width=240,height=30) self.password1e.place(x=380,y=215,width=200,height=30) self.buttonAdmin.place(x=320,y=30,width=140,height=50) self.buttonStudent.place(x=520,y=30,width=140,height=50) self.buttonlogin.place(x=180,y=300,width=140,height=50) self.frame.pack() def register(self): self.buttonAdmin.destroy() self.buttonStudent.destroy() self.label.destroy() self.name_label.destroy() self.namee.destroy() self.password1.destroy() self.password1e.destroy() self.buttonlogin.destroy() self.button2.destroy() self.labelr = tk.Label(self.frame,text='Register',bg='grey6',fg= 'white',font=('Arial',14,'bold')) self.namer = tk.Label(self.frame,text='Name : ',bg='grey71',font=('Arial',14,'bold')) self.namere_text=tk.StringVar() self.namere = tk.Entry(self.frame,textvariable=self.namere_text,fg='gray') self.idr = tk.Label(self.frame,text='ID. : ',bg='grey71',font=('Arial',14,'bold')) self.rollno_text=tk.StringVar() self.idre = tk.Entry(self.frame,textvariable=self.rollno_text,fg='gray',width=25,font=('Arial',12,'bold')) self.passwordr1 = tk.Label(self.frame,text='Create Password : ',bg='grey71', fg='Green',font=('Arial',14,'bold')) self.passwordr1e_text=tk.StringVar() self.passwordr1e = tk.Entry(self.frame,textvariable=self.passwordr1e_text,bg='White',fg='gray',width=25,font=('Arial',12,'bold'),show='*') self.passwordr2e_text=tk.StringVar() self.passwordr2 = tk.Label(self.frame,text='Re-enter Password : ',bg='grey71', fg='Green',font=('Arial',14,'bold')) self.passwordr2e = tk.Entry(self.frame,bg='White',fg='gray',width=25,font=('Arial',12,'bold'),show='*') self.buttonr = tk.Button(self.frame,text='Register',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command = self.create) self.buttonr2 = tk.Button(self.frame,text='Back',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command= self.destroy) # geometry managers self.labelr.place(x=40,y=10,width=200,height=40) self.namer.place(x=80,y=100,width=240,height=60) self.namere.place(x=300,y=115,width=200,height=30) self.idr.place(x=70,y=150,width=240,height=60) self.idre.place(x=300,y=165,width=200,height=30) self.passwordr1.place(x=28,y=210,width=240,height=30) self.passwordr1e.place(x=300,y=210,width=200,height=30) self.passwordr2.place(x=23,y=253,width=240,height=30) self.passwordr2e.place(x=300,y=253,width=200,height=30) self.buttonr.place(x=160,y=330,width=140,height=50) self.buttonr2.place(x=320,y=330,width=140,height=50) def create(self): if self.passwordr1e.get() != self.passwordr2e.get(): messagebox.showinfo('error','Passwords do not match') elif len(self.namere.get()) == 0: messagebox.showinfo('error', 'Name field is empty') elif len(self.idre.get()) == 0: messagebox.showinfo('error', 'ID field is empty') elif len(self.passwordr1e.get()) == 0: messagebox.showinfo('error', 'PASSWORD field is empty') else: authentication.insert(self.rollno_text.get(),self.namere_text.get(),self.passwordr1e_text.get()) def adminbutton2(self): self.button2.destroy() self.name_label = tk.Label(self.frame,text='Enter Username: ',bg='grey71',font=('Arial',14,'bold')) self.name_label.place(x=100,y=140,width=240,height=60) def adminbutton(self): self.name_label = tk.Label(self.frame,text='Enter Username: ',bg='grey71',font=('Arial',14,'bold')) self.name_label.place(x=100,y=140,width=240,height=60) def studentbutton(self): self.flag =1 self.buttonlogin.destroy() self.buttonlogin = tk.Button(self.frame,text='LOG IN',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.login_student) self.buttonlogin.place(x=180,y=300,width=140,height=50) self.name_label = tk.Label(self.frame,text='Enter Name: ',bg='grey71',font=('Arial',14,'bold')) self.name_label.place(x=100,y=140,width=240,height=60) self.button2 = tk.Button(self.frame,text='SIGN UP',bg='forest green',fg='gray12',font=('Arial',14,'bold'),cursor='hand2', command=self.register) self.button2.place(x=340,y=300,width=140,height=50) def login_admin(self): if len(self.namee.get()) ==0: messagebox.showinfo("ERROR", "Mandatory Field is empty") elif len(self.password1e.get()) == 0: messagebox.showinfo("ERROR", "Mandatory Field is empty") else: authentication.authorize_admin(self.namee_text.get(),self.password1e_text.get()) def login_student(self): if len(self.namee.get()) ==0: messagebox.showinfo("ERROR", "Mandatory Field is empty") elif len(self.password1e.get()) == 0: messagebox.showinfo("ERROR", "Mandatory Field is empty") else: authentication.authorize_student(self.namee_text.get(),self.password1e_text.get()) def destroy(self): self.labelr.destroy() self.namer.destroy() self.namere.destroy() self.idr.destroy() self.idre.destroy() self.passwordr1.destroy() self.passwordr1e.destroy() self.passwordr2.destroy() self.passwordr2e.destroy() self.buttonr.destroy() self.buttonr2.destroy() self.buttonlogin.destroy() self.login() authentication.connect() window = tk.Tk() window.title('Login') window.geometry('700x400') obj = login(window) obj.login() window.mainloop()