Advertisement
Carl123432

Python:ExampleProgramLoginSystem

Jan 20th, 2019
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.08 KB | None | 0 0
  1. import tkinter
  2. from tkinter import*
  3. import os
  4. import random
  5. from random import randint
  6.  
  7. def register_user(): ## Register User data save function
  8.     username_info = username.get()
  9.     password_info = password.get()
  10.     email_info = email.get()
  11.  
  12.     file=open(username_info, 'w')
  13.     file.write(username_info+'\n')
  14.     file.write(password_info+'\n')
  15.     file.write(email_info)
  16.     file.close()
  17.     file=open(email_info, 'w')
  18.     file.write(email_info+'\n')
  19.     file.write(username_info)
  20.     file.close()
  21.  
  22.  
  23.     username_entry.delete(0, END)
  24.     password_entry.delete(0, END)
  25.     email_entry.delete(0, END)
  26.  
  27.     Label(screen1, text = 'Registration Susccesful', fg = 'green', font = ('calibri', 11)).pack()
  28.  
  29. def login_verify(): ## Login Function
  30.     username1 = username_verify.get()
  31.     password1 = password_verify.get()
  32.  
  33.     username_entry1.delete(0, END)
  34.     password_entry1.delete(0, END)
  35.  
  36.     list_of_files = os.listdir()
  37.  
  38.     if username1 in list_of_files:
  39.         file1 = open(username1, 'r')
  40.         verify = file1.read().splitlines()
  41.         if password1 in verify:
  42.             print('Logged in')
  43.         else:
  44.             print('Password incorrect')
  45.     else:
  46.         print('Username not found')
  47.  
  48. def codeP(): ## Generate code for reset password
  49.     global code
  50.     code = randint(1000, 9999)
  51.  
  52. def codeU(): ## Generate code to find username
  53.     global code2
  54.     code2 = randint(1000, 9999)
  55.  
  56. def submit_code():
  57.     code1 = code_verify.get()
  58.  
  59.     password_code.delete(0, END)
  60.  
  61.     if int(code1) == code:
  62.         Label(screen4, text='Code Correct', bg='green').pack()
  63.     else:
  64.         Label(screen4, text='Wrong Code', bg='red').pack()
  65.  
  66. def change_password(): ## Password reset function
  67.     global code_verify
  68.     global password_code
  69.    
  70.     username2 = username_verify1.get()
  71.  
  72.     username_entry2.delete(0, END)
  73.  
  74.     list_of_files1 = os.listdir()
  75.  
  76.     if username2 in list_of_files1:
  77.         file2 = open(username2, 'r')
  78.         verify1 = file2.read().splitlines()
  79.         codeP()
  80.         print(code)
  81.         Label(screen4, text='Reset code sent').pack()
  82.         password_code = Entry(screen4, textvariable=code_verify)
  83.         password_code.pack()
  84.         Label(screen4, text='').pack()
  85.         Button(screen4, text='Submit code', width=10, height=2, command=submit_code).pack()
  86.     else:
  87.         Label(screen4, text='').pack()
  88.         Label(screen4, text='No matching username').pack()
  89.  
  90. def find_username(): ## find forgoten username
  91.  
  92.     username3 = username_verify3.get()
  93.  
  94.     username_entry3.delete(0, END)
  95.  
  96.     list_of_files2 = os.listdir()
  97.  
  98.     if username3 in list_of_files2:
  99.         file3 = open(username3, 'r')
  100.         verify2 = file3.read().splitlines()
  101.         Label(screen5, text='').pack()
  102.         Label(screen5, text='Email Found', bg='green').pack()
  103.     else:
  104.         Label(screen5, text='').pack()
  105.         Label(screen5, text='Email Not Found', bg='red').pack()
  106.  
  107. def register(): ## Register user / input from user
  108.     global screen1
  109.     screen1 = Toplevel(screen)
  110.     screen1.title('Register')
  111.     screen1.geometry('300x250')
  112.  
  113.     global username
  114.     global password
  115.     global email
  116.     global username_entry
  117.     global password_entry
  118.     global email_entry
  119.  
  120.     username = StringVar()
  121.     password = StringVar()
  122.     email = StringVar()
  123.  
  124.     Label(screen1, text = 'Please enter details bellow').pack()
  125.     Label(screen1, text='').pack()
  126.     Label(screen1, text = 'Username* ').pack()
  127.     username_entry = Entry(screen1, textvariable = username)
  128.     username_entry.pack()
  129.     Label(screen1, text = 'Password *').pack()
  130.     password_entry = Entry(screen1, textvariable = password)
  131.     password_entry.pack()
  132.     Label(screen1, text = 'Email *').pack()
  133.     email_entry = Entry(screen1, textvariable = email)
  134.     email_entry.pack()
  135.     Label(screen1, text='').pack()
  136.     Button(screen1, text = 'Register', width=10,height=1, command = register_user).pack()
  137.  
  138. def reset_password(): ## Reset password / User input
  139.     global screen4
  140.     screen4 = Toplevel(screen)
  141.     screen4.title('Reset Password')
  142.     screen4.geometry('300x250')
  143.     Label(screen4, text='Enter username *', height=2, width=30).pack()
  144.  
  145.     global username_entry2
  146.     global username_verify1
  147.  
  148.     username_verify1 = StringVar()
  149.  
  150.     username_entry2 = Entry(screen4, textvariable= username_verify1)
  151.     username_entry2.pack()
  152.  
  153.     Label(screen4, text='').pack()
  154.  
  155.     Button(screen4, text='Reset Password', command=change_password).pack()
  156.  
  157. def forgot_user(): ## Forgot user / User input
  158.     global screen5
  159.     screen5 = Toplevel(screen)
  160.     screen5.title('Find username')
  161.     screen5.geometry('300x250')
  162.     Label(screen5, text='Enter Email *', height=2, width=30).pack()
  163.  
  164.     global username_entry3
  165.     global username_verify3
  166.  
  167.     username_verify3 = StringVar()
  168.  
  169.     username_entry3 = Entry(screen5, textvariable=username_verify3, width=30)
  170.     username_entry3.pack()
  171.  
  172.     Label(screen5, text='').pack()
  173.  
  174.     Button(screen5, text='Find Username', command=find_username).pack()
  175.  
  176. def login_issue(): ## Ask if user has forgot details
  177.     global screen3
  178.     screen3 = Toplevel(screen)
  179.     screen3.title('Login Issues')
  180.     screen3.geometry('300x250')
  181.     Label(screen3, text='Have you forgot your Username or Password?', bg='grey', width='350', height='2', font=('calibri', 13)).pack()
  182.  
  183.     Button(screen3, text = 'USERNAME',  width=30, height=2, command=forgot_user).pack()
  184.     Label(screen3, text='').pack()
  185.     Button(screen3, text = 'PASSWORD',  width=30, height=2, command=reset_password).pack()
  186.  
  187. def login(): ## LOGIN PAGE FOR USER INPUT
  188.     global screen2
  189.     screen2 = Toplevel(screen)
  190.     screen2.title('Login')
  191.     screen2.geometry('300x250')
  192.     Label(screen2, text = 'Please enter details bellow to login').pack()
  193.     Label(screen2, text = '').pack()
  194.  
  195.     global username_verify
  196.     global password_verify
  197.  
  198.     username_verify = StringVar()
  199.     password_verify = StringVar()
  200.  
  201.     global username_entry1
  202.     global password_entry1
  203.  
  204.     Label(screen2, text = 'Username * ').pack()
  205.     username_entry1 = Entry(screen2, textvariable = username_verify)
  206.     username_entry1.pack()
  207.     Label(screen2, text = '').pack()
  208.     Label(screen2, text = 'Password * ').pack()
  209.     password_entry1 = Entry(screen2, textvariable = password_verify)
  210.     password_entry1.pack()
  211.     Label(screen2, text = '').pack()
  212.     Button(screen2, text = 'Login', width = 10, height = 1, command = login_verify).pack()
  213.     Label(screen2, text = '').pack()
  214.     Button(screen2, text = 'Login issue?', width = 10, height = 1, command=login_issue).pack()
  215.  
  216. def main_screen(): ## Main screen
  217.     global screen
  218.     screen = Tk()
  219.     screen.geometry('300x250')
  220.     screen.title('Login API 1.2.1')
  221.     Label(text = 'Login 1.2.1', bg = 'grey', width = '300', height = '2', font = ('Calibri', 13)).pack()
  222.     Label(text = '').pack()
  223.     Button(text = 'Login', height = '2', width = '30', command=login).pack()
  224.     Label(text = '').pack()
  225.     Button(text = 'Register', height = '2', width = '30', command=register).pack()
  226.  
  227.     screen.mainloop()
  228. main_screen()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement