#作业3、写一个注册的功能,要求数据存在数据库里面
# 1)、名字为空、已经存在都要校验
# 2)、校验通过之后,密码要存成密文的
import pymysql
import hashlib
def CheckUserInSql(user):
conn = pymysql.connect(host='118.24.3.40',user='jxz',
password='123456',port=3306,db='jxz',charset='utf8')
cur = conn.cursor(pymysql.cursors.DictCursor) #加了这个参数,返回值是字典形式的元组
sql = 'select * from app_myuser where username="%s";' %user # 查看数据库是否以及存在user用户
cur.execute(sql) #只是执行sql,并不会返回数据
res = cur.fetchall()
cur.close() # 关闭游标
conn.close() # 关闭连接数据库
if len(res) == 0:
return True
else:
return False
def isNotNone(user):
if str(user).strip()=='':
return False
else:
return True
def StoreInSQL(user,pwd,admin):
conn = pymysql.connect(host='118.24.3.40', user='jxz',
password='123456', port=3306, db='jxz', charset='utf8')
cur = conn.cursor(pymysql.cursors.DictCursor) # 加了这个参数,返回值是字典形式的元组
sql = 'insert into app_myuser (username,passwd,is_admin) values ("%s","%s",%d);'%(user,pwd,admin)
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
def my_md5(s):
news = str(s).encode()
m = hashlib.md5(news)
return m.hexdigest()
user = input('请输入注册的用户名:')
pwd = input('请输入注册密码:')
is_admin = int(input('请输入注册账号的权限(0非管理员/1管理员):'))
if isNotNone(user):
if CheckUserInSql(user):
pwdmd5 = my_md5(pwd)
StoreInSQL(user,pwdmd5,is_admin)
else:
print('输入的账号已经存在!')
else:
print('输入的账号不能为空!')
# 4、登陆的功能
# 登录的账号密码从数据库里面取,
# 如果输入用户不存在要提示
def CheckUserInSql(user):
conn = pymysql.connect(host='118.24.3.40',user='jxz',
password='123456',port=3306,db='jxz',charset='utf8')
cur = conn.cursor(pymysql.cursors.DictCursor) #加了这个参数,返回值是字典形式的元组
sql = 'select * from app_myuser where username="%s";' %user # 查看数据库是否以及存在user用户
cur.execute(sql) #只是执行sql,并不会返回数据
res = cur.fetchall()
cur.close() # 关闭游标
conn.close() # 关闭连接数据库
if len(res) == 0:
return True, res
else:
return False, res
def my_md5(s):
news = str(s).encode()
m = hashlib.md5(news)
return m.hexdigest()
user = input('请输入登录账号:')
pwd = input('请输入登录密码:')
pwdmd5 = my_md5(pwd)
Condition, res = CheckUserInSql(user)
if not Condition:
if res[0]['passwd'] == pwdmd5:
print('恭喜%s登录成功!'%user)
else:
print('密码错误!')
else:
print('账号不存在!')