1 import pymysql, hashlib
2 class loginRegistration:
3 def __init__(self):
4 # 连接数据库
5 self.bankData = pymysql.connect("127.0.0.1", "root", "123123", "user")
6 # 设置字符编码
7 self.bankData.set_charset('utf8')
8 # 创建游标对象
9 self.cursor = self.bankData.cursor()
10
11 def registration(self):
12 # 查找login表所有数据
13 sql = 'select * from login'
14 # 运行sql句子
15 self.cursor.execute(sql)
16 # 如果数据为0
17 if self.cursor.rowcount == 0:
18 print('注册用户为0')
19 else:
20 print('注册人数为', self.cursor.rowcount, "个")
21 userInputName = input('请输入用户名')
22 userInputPassword = input('请输入密码')
23 sql = 'select username from login where username="{}"'.format(userInputName)
24 self.cursor.execute(sql)
25 # 如果数据为0
26 if self.cursor.rowcount == 0:
27 # 调用md5加密
28 passwordMd5 = hashlib.md5()
29 passwordMd5.update(userInputPassword.encode('utf8'))
30 password = passwordMd5.hexdigest()
31 # 添加数据,用try来检测提交是否成功
32 try:
33 sql = "insert into login(username,password) values('{}','{}' )".format(userInputName, password)
34 self.cursor.execute(sql)
35 # 提交服务器中
36 self.bankData.commit()
37 print("注册成功")
38 except:
39 print("注册失败")
40 else:
41 print("用户已存在")
42
43 def login(self):
44 sql = 'select * from login'
45 # 运行sql句子
46 self.cursor.execute(sql)
47 userInputName = input('请输入用户名')
48 userInputPassword = input('请输入密码')
49 sql = 'select username,password from login where username="{}"'.format(userInputName)
50 self.cursor.execute(sql)
51 passwordMd5 = hashlib.md5()
52 passwordMd5.update(userInputPassword.encode('utf8'))
53 password = passwordMd5.hexdigest()
54 # 如果数据为0
55 if self.cursor.rowcount == 0:
56 print("用户不已存在")
57 elif self.cursor.fetchone()[1] != password:
58 print("密码错误")
59 else:
60 print("登录成功")
61
62
63 lr = loginRegistration()
64 while True:
65 print("1、注册 2、登录")
66 userinput = input("")
67 if userinput is "1":
68 lr.registration()
69 elif userinput is "2":
70 lr.login()