python_注册入口,登录

#作业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('账号不存在!')

 

posted @ 2018-12-15 20:14  mercywym123  阅读(4800)  评论(0编辑  收藏  举报