Advertisement
Guest User

Untitled

a guest
Jun 9th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.29 KB | None | 0 0
  1. import pymysql
  2. import re
  3. import time
  4.  
  5. conn = pymysql.connect(host='37.187.89.199', port=3306, user='root', passwd='123', db='dbinfo')
  6.  
  7.  
  8. cur = conn.cursor()
  9.  
  10. class mainvar():
  11. def mainvar(self):
  12. mainvar.login = 0
  13. mainvar.changedetails = 0
  14. mainvar.userpage = 0
  15.  
  16.  
  17. class main():
  18. def main(self):
  19. print("This is a mySQL test")
  20. print("A) Sign Up\nB) Change details\nC) Login\n")
  21. reply=input().upper()
  22. if reply == "A":
  23. entername.entername()
  24. elif reply == "B":
  25. if mainvar.login == 1:
  26. changemenu.changemenu()
  27. else:
  28. mainvar.changedetails = 1
  29. menu.menu()
  30. else:
  31. print(reply,"is not an option on the list.")
  32. main.main()
  33.  
  34.  
  35. #Signing in
  36. ####################################################################################################################################################################################################################
  37. class menu():
  38. def menu(self):
  39. print("Please sign in.")
  40. loginemail.loginemail()
  41.  
  42. class loginemail():
  43. def loginemail(Self):
  44. print("Please enter your email adress")
  45. loginemail.email=str(input()).lower()
  46. match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', loginemail.email)
  47. if match == None:
  48. print("That is not a valid email format.")
  49. loginemail.loginemail()
  50. else:
  51. cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
  52. loginemail.data=cur.fetchone()
  53. if loginemail.data:
  54. if loginemail.data[3] == loginemail.email:
  55. loginpw.loginpw()
  56. else:
  57. print("This email does not exist on the database.")
  58. loginemailfail.loginemailfail()
  59.  
  60.  
  61. class loginemailfail():
  62. def loginemailfail(self):
  63. print("Would you like to..")
  64. print("A) Sign up\nB) Retry")
  65. reply=input().upper()
  66. if reply == "A":
  67. enternam.entername()
  68. elif reply == "B":
  69. loginemail.loginemail()
  70. else:
  71. print(reply,"is not an option on the list")
  72. loginemailfail.loginemailfail()
  73.  
  74.  
  75. class loginpw():
  76. def loginpw(self):
  77. print("Please enter your password")
  78. loginpw.pw=str(input())
  79. cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
  80. loginpw.data=cur.fetchone()
  81. if loginpw.data[4] == loginpw.pw:
  82. print("Successfully logged in")
  83. main.login = 1
  84. if mainvar.changedetails == 1:
  85. changemenu.changemenu()
  86. elif mainvar.changedetails == 0:
  87. print("User page")
  88. else:
  89. print("Incorrect password")
  90. loginpw.loginpw()
  91.  
  92.  
  93.  
  94. #assigning classes to objects
  95. menu=menu()
  96. loginemail=loginemail()
  97. loginemailfail=loginemailfail()
  98. loginpw=loginpw()
  99.  
  100.  
  101. #Changeing details
  102. ####################################################################################################################################################################################################################
  103.  
  104.  
  105. class changemenu():
  106. def changemenu(self):
  107. print("What would you like to change?")
  108. print("A) Name")
  109. print("B) Username")
  110. print("C) Password")
  111. x=str(input()).upper()
  112. if x == "A":
  113. changenames.changenames()
  114. elif x == "B":
  115. changeusername.changeusername()
  116. elif x == "C":
  117. print("Change password")
  118. else:
  119. print(x,"is not an option on the list.")
  120. changemenu.changemenu()
  121.  
  122. class changenames():
  123. def changenames(self):
  124. print("Please enter the following")
  125. changename.changename()
  126.  
  127.  
  128. class changename():
  129. def changename(self):
  130. print("Enter your new first name")
  131. changename.name=str(input()).title()
  132. if changename.name == "":
  133. print("You haven't entered anything")
  134. entername.entername()
  135. else:
  136. changesname.changesname()
  137.  
  138. class changesname():
  139. def changesname(self):
  140. print("Please enter your new second name")
  141. changesname.name=str(input()).title()
  142. if changesname.name == "":
  143. print("You haven't entered anything")
  144. changesname.changesname()
  145. else:
  146. changenameend.changenameend()
  147.  
  148. class changenameend():
  149. def changenameend(self):
  150. cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
  151. changenameend.data=cur.fetchone()
  152. print("Name:",changename.name,changesname.name)
  153. print("NickName:",changenameend.data[2])
  154. print("Email:",changenameend.data[3])
  155. print("Are these details correct?\nY/N")
  156. option=str(input()).upper()
  157. if option == "Y":
  158. cur.execute("UPDATE userinfo SET firstname = '"+changename.name+"',lastname = '"+changesname.name+"' WHERE firstname='"+changenameend.data[0]+"' AND lastname='"+changenameend.data[1]+"' AND email = '"+changenameend.data[3]+"' AND nickname = '"+changenameend.data[2]+"' AND password = '"+changenameend.data[4]+"';")
  159. conn.commit()
  160. main.main()
  161. elif option == "N":
  162. print("Would you like to..")
  163. print("A) exit")
  164. print("B) try again")
  165. option2=str(input()).upper()
  166. if option2 == "A":
  167. exit()
  168. elif option2 == "B":
  169. changenames.changenames()
  170. else:
  171. print(option2,"is not an option on the list")
  172. changenameend.changenameend()
  173.  
  174.  
  175. class changeusername():
  176. def changeusername(self):
  177. print("Enter your new username")
  178. changeusername.name=str(input()).lower()
  179. if changeusername.name == "":
  180. print("You haven't entered anything")
  181. changeusername.changeusername()
  182. else:
  183. changeusernameend.changeusernameend()
  184.  
  185. class changeusernameend():
  186. def changeusernameend(self):
  187. cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
  188. changeusernameend.data=cur.fetchone()
  189. print("Name:",changeusernameend.data[0],changeusernameend.data[1])
  190. print("NickName:",changeusername.name)
  191. print("Email:",changeusernameend.data[3])
  192. print("Are these details correct?\nY/N")
  193. option=str(input()).upper()
  194. if option == "Y":
  195. cur.execute("UPDATE userinfo SET nickname = '"+changeusername.name+"' WHERE firstname='"+changeusernameend.data[0]+"' AND lastname='"+changeusernameend.data[1]+"' AND email = '"+changeusernameend.data[3]+"' AND nickname = '"+changeusernameend.data[2]+"' AND password = '"+changeusernameend.data[4]+"';")
  196. conn.commit()
  197. main.main()
  198. elif option == "N":
  199. print("Would you like to..")
  200. print("A) exit")
  201. print("B) try again")
  202. option2=str(input()).upper()
  203. if option2 == "A":
  204. exit()
  205. elif option2 == "B":
  206. changeusername.changeusername()
  207. else:
  208. print(option2,"is not an option on the list")
  209. changeusernameend.changeusernameend()
  210.  
  211.  
  212. #assigning classes to objects
  213. changemenu=changemenu()
  214. changenames=changenames()
  215. changename=changename()
  216. changesname=changesname()
  217. changenameend=changenameend()
  218. changeusername=changeusername()
  219. changeusernameend=changeusernameend()
  220.  
  221.  
  222. #registering
  223. ####################################################################################################################################################################################################################
  224. class entername():
  225. def entername(self):
  226. print("Please enter your first name")
  227. entername.name=str(input()).title()
  228. if entername.name == "":
  229. print("You haven't entered anything")
  230. entername.entername()
  231. else:
  232. entersname.entersname()
  233.  
  234. class entersname():
  235. def entersname(self):
  236. print("Please enter your last name")
  237. entersname.name=str(input()).title()
  238. if entersname.name == "":
  239. print("You haven't entered anything")
  240. entersname.entersname()
  241. else:
  242. enternickname.enternickname()
  243.  
  244. class enternickname():
  245. def enternickname(self):
  246. print("Please enter your username")
  247. enternickname.name=str(input()).lower()
  248. if enternickname.name == "":
  249. print("You haven't entered anything")
  250. enternickname.enternickname()
  251. else:
  252. enteremail.enteremail()
  253.  
  254. class enteremail():
  255. def enteremail(self):
  256. print("Please enter your email")
  257. enteremail.name=str(input()).lower()
  258. match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', enteremail.name)
  259. if match == None:
  260. print("That is not a valid email.")
  261. enteremail.enteremail()
  262. else:
  263. enterpassword.enterpassword()
  264.  
  265.  
  266. class enterpassword():
  267. def enterpassword(self):
  268. print("Please create a password")
  269. enterpassword.pw=str(input())
  270. print("Please repeat your password")
  271. enterpassword.pwr=str(input())
  272. if enterpassword.pw == enterpassword.pwr:
  273. enterpassword.pw == enterpassword.pwr
  274. details.details()
  275. else:
  276. print("The 2 passwords don't match")
  277. enterpassword.enterpassword()
  278.  
  279.  
  280. class details():
  281. def details(self):
  282. print("Name:",entername.name,entersname.name)
  283. print("NickName:",enternickname.name)
  284. print("Email:",enteremail.name)
  285. print("Are these details correct?\nY/N")
  286. details.ans=input().upper()
  287. if details.ans == "Y":
  288. print("Thank you for registering.")
  289. signupinject.signupinject()
  290. elif details.ans == "N":
  291. entername.entername()
  292. else:
  293. details.details()
  294.  
  295. class signupinject():
  296. def signupinject(self):
  297. cur.execute("INSERT INTO userinfo(firstname,lastname,nickname,email,password) VALUES('"+entername.name+"','"+entersname.name+"','"+enternickname.name+"','"+enteremail.name+"','"+enterpassword.pw+"');")
  298. conn.commit()
  299.  
  300. #assigning classes to objects to retrieve the variables within the functions.
  301.  
  302. main=main()
  303. entername=entername()
  304. entersname=entersname()
  305. enternickname=enternickname()
  306. enteremail=enteremail()
  307. enterpassword=enterpassword()
  308. details=details()
  309. signupinject=signupinject()
  310. mainvar=mainvar()
  311.  
  312. print("\n")
  313. mainvar.mainvar()
  314. main.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement