Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pymysql
- import re
- import time
- conn = pymysql.connect(host='37.187.89.199', port=3306, user='root', passwd='123', db='dbinfo')
- cur = conn.cursor()
- class mainvar():
- def mainvar(self):
- mainvar.login = 0
- mainvar.changedetails = 0
- mainvar.userpage = 0
- class main():
- def main(self):
- print("This is a mySQL test")
- print("A) Sign Up\nB) Change details\nC) Login\n")
- reply=input().upper()
- if reply == "A":
- entername.entername()
- elif reply == "B":
- if mainvar.login == 1:
- changemenu.changemenu()
- else:
- mainvar.changedetails = 1
- menu.menu()
- else:
- print(reply,"is not an option on the list.")
- main.main()
- #Signing in
- ####################################################################################################################################################################################################################
- class menu():
- def menu(self):
- print("Please sign in.")
- loginemail.loginemail()
- class loginemail():
- def loginemail(Self):
- print("Please enter your email adress")
- loginemail.email=str(input()).lower()
- match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', loginemail.email)
- if match == None:
- print("That is not a valid email format.")
- loginemail.loginemail()
- else:
- cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
- loginemail.data=cur.fetchone()
- if loginemail.data:
- if loginemail.data[3] == loginemail.email:
- loginpw.loginpw()
- else:
- print("This email does not exist on the database.")
- loginemailfail.loginemailfail()
- class loginemailfail():
- def loginemailfail(self):
- print("Would you like to..")
- print("A) Sign up\nB) Retry")
- reply=input().upper()
- if reply == "A":
- enternam.entername()
- elif reply == "B":
- loginemail.loginemail()
- else:
- print(reply,"is not an option on the list")
- loginemailfail.loginemailfail()
- class loginpw():
- def loginpw(self):
- print("Please enter your password")
- loginpw.pw=str(input())
- cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
- loginpw.data=cur.fetchone()
- if loginpw.data[4] == loginpw.pw:
- print("Successfully logged in")
- main.login = 1
- if mainvar.changedetails == 1:
- changemenu.changemenu()
- elif mainvar.changedetails == 0:
- print("User page")
- else:
- print("Incorrect password")
- loginpw.loginpw()
- #assigning classes to objects
- menu=menu()
- loginemail=loginemail()
- loginemailfail=loginemailfail()
- loginpw=loginpw()
- #Changeing details
- ####################################################################################################################################################################################################################
- class changemenu():
- def changemenu(self):
- print("What would you like to change?")
- print("A) Name")
- print("B) Username")
- print("C) Password")
- x=str(input()).upper()
- if x == "A":
- changenames.changenames()
- elif x == "B":
- changeusername.changeusername()
- elif x == "C":
- print("Change password")
- else:
- print(x,"is not an option on the list.")
- changemenu.changemenu()
- class changenames():
- def changenames(self):
- print("Please enter the following")
- changename.changename()
- class changename():
- def changename(self):
- print("Enter your new first name")
- changename.name=str(input()).title()
- if changename.name == "":
- print("You haven't entered anything")
- entername.entername()
- else:
- changesname.changesname()
- class changesname():
- def changesname(self):
- print("Please enter your new second name")
- changesname.name=str(input()).title()
- if changesname.name == "":
- print("You haven't entered anything")
- changesname.changesname()
- else:
- changenameend.changenameend()
- class changenameend():
- def changenameend(self):
- cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
- changenameend.data=cur.fetchone()
- print("Name:",changename.name,changesname.name)
- print("NickName:",changenameend.data[2])
- print("Email:",changenameend.data[3])
- print("Are these details correct?\nY/N")
- option=str(input()).upper()
- if option == "Y":
- 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]+"';")
- conn.commit()
- main.main()
- elif option == "N":
- print("Would you like to..")
- print("A) exit")
- print("B) try again")
- option2=str(input()).upper()
- if option2 == "A":
- exit()
- elif option2 == "B":
- changenames.changenames()
- else:
- print(option2,"is not an option on the list")
- changenameend.changenameend()
- class changeusername():
- def changeusername(self):
- print("Enter your new username")
- changeusername.name=str(input()).lower()
- if changeusername.name == "":
- print("You haven't entered anything")
- changeusername.changeusername()
- else:
- changeusernameend.changeusernameend()
- class changeusernameend():
- def changeusernameend(self):
- cur.execute("SELECT * FROM userinfo WHERE email ='"+loginemail.email+"';")
- changeusernameend.data=cur.fetchone()
- print("Name:",changeusernameend.data[0],changeusernameend.data[1])
- print("NickName:",changeusername.name)
- print("Email:",changeusernameend.data[3])
- print("Are these details correct?\nY/N")
- option=str(input()).upper()
- if option == "Y":
- 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]+"';")
- conn.commit()
- main.main()
- elif option == "N":
- print("Would you like to..")
- print("A) exit")
- print("B) try again")
- option2=str(input()).upper()
- if option2 == "A":
- exit()
- elif option2 == "B":
- changeusername.changeusername()
- else:
- print(option2,"is not an option on the list")
- changeusernameend.changeusernameend()
- #assigning classes to objects
- changemenu=changemenu()
- changenames=changenames()
- changename=changename()
- changesname=changesname()
- changenameend=changenameend()
- changeusername=changeusername()
- changeusernameend=changeusernameend()
- #registering
- ####################################################################################################################################################################################################################
- class entername():
- def entername(self):
- print("Please enter your first name")
- entername.name=str(input()).title()
- if entername.name == "":
- print("You haven't entered anything")
- entername.entername()
- else:
- entersname.entersname()
- class entersname():
- def entersname(self):
- print("Please enter your last name")
- entersname.name=str(input()).title()
- if entersname.name == "":
- print("You haven't entered anything")
- entersname.entersname()
- else:
- enternickname.enternickname()
- class enternickname():
- def enternickname(self):
- print("Please enter your username")
- enternickname.name=str(input()).lower()
- if enternickname.name == "":
- print("You haven't entered anything")
- enternickname.enternickname()
- else:
- enteremail.enteremail()
- class enteremail():
- def enteremail(self):
- print("Please enter your email")
- enteremail.name=str(input()).lower()
- match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', enteremail.name)
- if match == None:
- print("That is not a valid email.")
- enteremail.enteremail()
- else:
- enterpassword.enterpassword()
- class enterpassword():
- def enterpassword(self):
- print("Please create a password")
- enterpassword.pw=str(input())
- print("Please repeat your password")
- enterpassword.pwr=str(input())
- if enterpassword.pw == enterpassword.pwr:
- enterpassword.pw == enterpassword.pwr
- details.details()
- else:
- print("The 2 passwords don't match")
- enterpassword.enterpassword()
- class details():
- def details(self):
- print("Name:",entername.name,entersname.name)
- print("NickName:",enternickname.name)
- print("Email:",enteremail.name)
- print("Are these details correct?\nY/N")
- details.ans=input().upper()
- if details.ans == "Y":
- print("Thank you for registering.")
- signupinject.signupinject()
- elif details.ans == "N":
- entername.entername()
- else:
- details.details()
- class signupinject():
- def signupinject(self):
- cur.execute("INSERT INTO userinfo(firstname,lastname,nickname,email,password) VALUES('"+entername.name+"','"+entersname.name+"','"+enternickname.name+"','"+enteremail.name+"','"+enterpassword.pw+"');")
- conn.commit()
- #assigning classes to objects to retrieve the variables within the functions.
- main=main()
- entername=entername()
- entersname=entersname()
- enternickname=enternickname()
- enteremail=enteremail()
- enterpassword=enterpassword()
- details=details()
- signupinject=signupinject()
- mainvar=mainvar()
- print("\n")
- mainvar.mainvar()
- main.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement