简单的登入验证
admin
2023-06-08 22:01:30
0

写了一个简单的登录验证过程

首先创建目录结构

简单的登入验证

model 是操作数据库表相关的 admin.py是对应于mysql 数据库中的数据库member下的admin表

utility是关于操作数据库相关的

conf.py 文件是一些配置字符串

index.py 是程序前端入口

首先index.py中的代码:

#!/usr/bin/env python
#coding:utf-8
from model.admin import Admin


def main():
    user = raw_input('inpute your username:')
    pawd = raw_input('inpute your password:')
    
    admin = Admin()
    
    result =admin.CheckValiData(user, pawd)
    if not result :
        print "username or password not right!"
    else:
        print "%s login success" % user



if __name__== '__main__':
    
    main()

通过Admin类查找用户名和密码:

admin.py文件中的代码:

#!/usr/bin/env python
#coding:utf-8


from utility.SqlHelper import MySqlHelper



class Admin(object):
    
    def __init__(self):
        self.__helper= MySqlHelper()
        
        
    def CheckValiData(self,username,password):
        sql="select * from admin where name=%s and password=%s"
        parmars=(username,password,)
        return self.__helper.Get_One(sql, parmars)

Admin类调用MySqlHelper类来操作数据库

SqlHelper.py文件中的代码:

#!/usr/bin/env python
#coding:utf-8


import MySQLdb

import conf


class MySqlHelper(object):
    def __init__(self):
        self.__dict=conf.db_dict
        
    def Get_One(self,sql,parmars):
        conn = MySQLdb.connect(**self.__dict)
        cur= conn.cursor()
        recount = cur.execute(sql,parmars)
        
        data = cur.fetchone()
        
        cur.close()
        conn.close()
        return data

conf.py文件中的代码:

#!/usr/bin/env python
#coding:utf-8

db_dict = dict(host='127.0.0.1',user='root',passwd='redhat',db='member')

mysql数据库中的admin表的内容如下:

mysql> select * from admin;
+----+------+----------+
| id | name | password |
+----+------+----------+
|  1 | tom  | 123      |
|  2 | jack | 1234     |
+----+------+----------+
2 rows in set (0.00 sec)

mysql>

执行python index.py输出结果如下:

[root@web Mysqlhelper]# python index.py
inpute your username:tom
inpute your password:123
tom login success
[root@web Mysqlhelper]# python index.py
inpute your username:jack
inpute your password:12334
username or password not right!
[root@web Mysqlhelper]#


相关内容

热门资讯

伊朗总统准备向世界保证不寻求核... 伊朗总统佩泽希齐扬5月24日在接受采访时表示,“伊朗准备向全世界保证,正如已故伊朗最高领袖阿里·哈梅...
火星上出现一摞整齐叠放的石头,... 那是谁干的? 毅力号火星车在火星上发现了一摞整齐叠放的石头。NASA / JPL-Caltech ...
八国发表联合声明,谴责以色列国... △以色列国家安全部长伊塔马尔·本-格维尔(资料图)当地时间24日,阿联酋、约旦、土耳其、埃及、印度尼...
神舟二十三号载人飞船发射升空 IT之家 5 月 24 日消息,刚刚,搭载神舟二十三号载人飞船的长征二号 F 遥二十三运载火箭在酒泉...
浙江上线“创新积分制”数智平台 来源:中国新闻网 中新网杭州5月24日电(鲍梦妮)5月24日,在2026年浙江省“全国科技活动周”上...
国内知名冷门绝学大咖齐聚深圳,... 本文转自【光明日报】; 5月22日上午,作为2026文化强国建设高峰论坛重要组成部分,首届冷门绝学传...
神舟二十三号载人飞行任务航天员... 据微信公众号“中国载人航天”消息,5月24日20时16分,神舟二十三号载人飞行任务航天员乘组出征仪式...
以总理:同特朗普一致认为须消除... 新华社耶路撒冷5月24日电(记者庞昕熠 王卓伦)以色列总理内塔尼亚胡24日在社交平台发文称,他和美国...
专家解读|秉持以人为本 统筹发... 随着大模型、生成式人工智能、智能体等技术的迭代创新,人工智能正在进入加速应用的新阶段,由此引发的社会...
原创 v... vivo在5月份的新机继续增加,比如vivo S60系列、vivo Y600 Turbo等,均在5月...