操作mysql实现用户的注册和登陆

from pymysql import connect
#import time


def add_user():

    #循环输入
    while True:


        a = str(input("请注册,输入用户名:"))
        b = str(input("输入新的密码:"))
        #判断密码字符长度
        if 6 < len(b) < 10 :


            # 创建Connection连接
            conn = connect(host='localhost', port=3306, database='jiangbo', user='root', password='mysql', charset='utf8')
            # 获得Cursor对象
            cs1 = conn.cursor()


            # 执行sql语句
            mysql = """select * from jbs where  name="%s" """%a
            #1print (mysql)
            cs1.execute(mysql)


            table_data = cs1.fetchall()


            t_list =[]
            for t in table_data:
                t_list.append(t[1])


            #判断mysql书否存在
            if a in t_list :


                print ('已存在用户名')


            else:


                sql = """ insert into jbs(name,password) VALUES ("%s","%s");"""%(a,b)
                print(sql)
                print(mysql)
                print ('注册成功!')
                cs1.execute(sql)


            # 提交
            conn.commit()


            # 关闭
            cs1.close()
            conn.close()
            break
        else:


            print ('密码设置不符合规矩')


            continue






def info_user(my_user,my_password):
    # while True:
    #     my_user = input('请输入用户名:')
    #     my_password = input('请输入密码:')


    #创建列表
    #my_list = []
    my_list_user = []
    my_list_password = []
    # 连接数据
    conn = connect(host='localhost', port=3306, user='root', password='mysql', charset='utf8', database="jiangbo")
    # 得到游标
    cs1 = conn.cursor()


    # 2.执行sql语句
    cs1.execute("""select * from jbs;""")
    # 得到数据
    table_data = cs1.fetchall()


    # 3.关闭
    cs1.close()
    conn.close()


    # 4.处理数据
    for temp in table_data:
        my_list.append(temp)
        my_list_user.append(temp[1])
        my_list_password.append(temp[2])
        #print(temp)
    #print(my_list)


    #for i,list in enumerate(my_list):
    #判断输入的用户名是否在用户名列表内
    if my_user in my_list_user:
        #判断输入的密码是否在密码列表内
        if my_password in my_list_password:
        #for list in my_list:
            #再一次判断用户名于密码是否对应
            if  my_list_user.index (my_user) == my_list_password.index (my_password):
                print ('登录成功!')
                index = my_list_user.index (my_user)
                #print (index)
                #break


            else:
                print ('亲!密码输入错误!')
        else:
            print ('亲!密码输入错误!')
                #break


    else:
        print ('用户名输入错误!')


            #pass
            #time.sleep(0.5)


        #add_user()


    #print ('登录成功!')


#主函数
def main():
    while True:


        print ('1.注册账号')
        print ('2.登陆账号')


        num = input('请输入要操作的序号:')
        if num == '1':
            add_user()
        elif num == '2':
            while True:
                my_user = input('请输入用户名:')
                my_password = input('请输入密码:')
                info_user(my_user,my_password)
                break


if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/qq_34154005/article/details/80219797