Advertisement
Guest User

Untitled

a guest
Mar 6th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. import sqlite3
  2. from tkinter import ttk
  3. import tkinter
  4. from tkinter import messagebox
  5.  
  6. def login():
  7. while True:
  8. username = input("Please enter your username: ")#Asks for username
  9. password = input("Please enter your password: ")#Asks for password
  10. with sqlite3.connect("User.db") as db:#Creates a connection to database
  11. c = db.cursor()
  12. find_user = ("SELECT * FROM user WHERE username = ? AND password = ?")#Validates inputs for account
  13. c.execute(find_user,[(username),(password)])
  14. results = c.fetchall()#Fetches values from database
  15.  
  16. if results:#Validates if the username/password is recognised
  17. for i in results:
  18. print("Welcome "+i[1])
  19. break
  20.  
  21. else:
  22. print("Username and password is not recognised")
  23.  
  24. def newUser(username1, password1):
  25. found = 0
  26. while found == 0:
  27. username = username1.get()
  28. with sqlite3.connect("User.db") as db:
  29. c = db.cursor()
  30. findUser = ("SELECT * FROM user WHERE username = ?")
  31. c.execute(findUser, [(username)])#Checks existence of username in database
  32.  
  33. if c.fetchall():
  34. messagebox.showinfo("Username", "Username taken please try again.")
  35. break
  36. else:
  37. messagebox.showinfo("", "Account has been created!")
  38. found = 1
  39.  
  40. password = password1.get()
  41. insertData = '''INSERT INTO user(username, password)
  42. VALUES(?,?)'''#Inserts new account into databse
  43. c.execute(insertData, [(username),(password)])
  44. db.commit()
  45.  
  46. def newUserTkinter():
  47. window = tkinter.Tk()
  48. window.title("Create new account")
  49.  
  50. labelOne = ttk.Label(window, text = "Enter a username:")
  51. labelOne.grid(row = 0, column = 0)
  52. username1 = tkinter.StringVar(window)#value type is classified as a string
  53. usernameEntry = ttk.Entry(window, width = 30, textvariable = username1)
  54. usernameEntry.grid(row = 1, column = 0)
  55.  
  56. labelTwo = ttk.Label(window, text = "Enter a password:")
  57. labelTwo.grid(row = 2, column = 0)
  58. password1 = tkinter.StringVar(window)#value type is classified as a string
  59. passwordEntry = ttk.Entry(window, width = 30, textvariable = password1)
  60. passwordEntry.grid(row = 3, column = 0)
  61.  
  62. btn = ttk.Button(window, text="Submit", command=lambda: newUser(username1, password1))
  63. btn.grid(row = 3, column = 1)
  64.  
  65. def removeUser(usernameD, passwordD):
  66. exists = 0
  67. while exists == 0:#Validates exsistence of account username
  68. username = usernameD.get()
  69. password = passwordD.get()
  70. with sqlite3.connect("User.db") as db:
  71. c = db.cursor()
  72. findUser = ("SELECT * FROM user WHERE username = ?")
  73. c.execute(findUser, [(username)])
  74.  
  75. if c.fetchall():
  76. messagebox.showinfo("Delete account", "Account deleted!")
  77. exists = 1
  78. else:
  79. messagebox.showinfo("", "Account does not exist")
  80. break
  81.  
  82. remove_user = ("DELETE from user WHERE username = ? AND password = ?")
  83. c.execute(remove_user,[(username),(password)])
  84. db.commit()
  85.  
  86. def removeUserTkinter():
  87. window = tkinter.Tk()
  88. window.title("Delete account")
  89.  
  90. labelOne = ttk.Label(window, text = "Enter account username:")
  91. labelOne.grid(row = 0, column = 0)
  92. usernameD = tkinter.StringVar(window)#value type is classified as a string
  93. usernameEntry = ttk.Entry(window, width = 30, textvariable = usernameD)
  94. usernameEntry.grid(row = 1, column = 0)
  95.  
  96. labelTwo = ttk.Label(window, text = "Enter account password:")
  97. labelTwo.grid(row = 2, column = 0)
  98. passwordD = tkinter.StringVar(window)#value type is classified as a string
  99. passwordEntry = ttk.Entry(window, width = 30, textvariable = passwordD)
  100. passwordEntry.grid(row = 3, column = 0)
  101.  
  102. btn = ttk.Button(window, text="Submit", command=lambda: removeUser(usernameD, passwordD))
  103. btn.grid(row = 3, column = 1)
  104.  
  105. with sqlite3.connect("User.db") as db:
  106. c = db.cursor()
  107. c.execute("SELECT * FROM user")
  108. print(c.fetchall())
  109.  
  110. window = tkinter.Tk()
  111. window.title("Treasure Hunt Game!")
  112.  
  113. labelOne = ttk.Label(window, text = """ ~~~~~~~~~~~~~ USER MENU ~~~~~~~~~~~~~
  114. """)#label displays instruction
  115. labelOne.grid(row = 0, column = 0)#places label in a grid
  116.  
  117. btn = ttk.Button(window, text = "Create account", command = newUserTkinter)
  118. btn.grid(row = 1, column = 0)#places button in a grid
  119.  
  120. btn = ttk.Button(window, text = "Delete account", command = removeUserTkinter)
  121. btn.grid(row = 2, column = 0)#places button in a grid
  122.  
  123. labelTwo = ttk.Label(window, text = "Login to your account:")
  124. labelTwo.grid(row = 3, column = 0)
  125.  
  126. usernameLogIn = tkinter.StringVar(window)#value type is classified as a string
  127. usernameEntry = ttk.Entry(window, width = 30, textvariable = usernameLogIn)
  128. usernameEntry.grid(row = 4, column = 0)
  129.  
  130. labelTwo = ttk.Label(window, text = "USERNAME")
  131. labelTwo.grid(row = 4, column = 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement