pymysql login

import pymysql, time


# 登录系统
def login():
try:
db = pymysql.connect(host="localhost", user="root", password="123123", database="test")
r = db.cursor()
sql = "select * from t1"
re = r.fetchmany(r.execute(sql))
dict_mysql = {}
# 读取数据库数据
for i in re:
dict_mysql[i[1]] = i[0], i[2]
r.close()
db.close()
# 用户超过次数锁定账户
for _ in range(3):
yourname = input("请输入用户名:")
yourpassword = input("请输入密码:")
# 判断用户名和密码是否正确
if yourname in dict_mysql.keys() and yourpassword == dict_mysql[yourname][1]:
print("恭喜你,登陆成功!")
return yourname, yourpassword, dict_mysql[yourname][0]
break
else:
if 2 - _ == 0:
print("登录失败,你还有0次机会。账号已锁。3秒后退出!")
time.sleep(3)
return False
exit(0)
else:
print("登录失败,你还有{}次机会。".format(2 - _))
except:
print("数据库连接异常...")
time.sleep(2)
exit(0)


# 注册系统
def zhuce():
try:
# 链接数据库
db = pymysql.connect(host="localhost", user="root", password="123123", database="test")
# 游标
res = db.cursor()
while True:
yourname = input("请输入用户名:")
yourpassword = input("请输入密码:")
yourpassword1 = input("请再一次输入密码:")
if yourname != "" and yourpassword != "" and yourpassword == yourpassword1:
# 执行sql语句
sql = "replace into t1(name, password) values('" + yourname + "','" + yourpassword + "')"
res.execute(sql)
# 提交操作
db.commit()
res.close()
db.close()
print("注册成功!")
break
elif yourpassword != yourpassword1:
print("注册失败,密码不一致。")
else:
print("注册失败,用户名和密码不能为空。")

except:
print("数据库连接错误....2秒后退出系统")
time.sleep(2)
exit(0)


# 修改用户名或密码id, yourname, yourpassword
def update(id, yourname, password):
try:
# 链接数据库
db = pymysql.connect(host="localhost", user="root", password="123123", database="test")
# 游标
res = db.cursor()
# 修改密码
oldpassword = input("请输入原密码:")
yourpassword = input("请输入修改密码: ")
yourpassword1 = input("请再一次输入修改密码: ")
if oldpassword == password and yourpassword == yourpassword1 and yourpassword != " ":
sql = "update t1 set password ='" + yourpassword + "' where id = " + id
res.execute(sql)
db.commit()
print("修改成功!")
res.close()
db.close()
else:
print("信息不匹配,无法修改!")

except:
print("数据库链接错误....")


def main():
print("*" * 100)
print(" " * 40 + "欢迎登录教务系统" + " " * 40)
print("*" * 100)

try:
choose1 = int(input("是否有账号登录? 1(是) 2(否): "))
if choose1 == 1:
yourname, yourpassword, id = login()
date = int(input("是否修改密码:1(是) 2(否):"))
if date == 1:
update(str(id), yourname, yourpassword)
else:
zhuce()
print("欢迎开始...")

except:
print("输入有误! 3秒后退出系统")
time.sleep(3)
exit(0)


if __name__ == '__main__':
main()

posted @ 2021-03-30 18:33  tevien  阅读(61)  评论(0)    收藏  举报