欢迎访问宙启技术站
智能推送

Python实现用户名和密码登录

发布时间:2023-05-17 02:54:06

Python语言是目前非常流行的编程语言,其来自于荷兰的Guido van Rossum于1989年在阿姆斯特丹开发。Python语言具有简单易学,代码清晰简洁,易于维护等优点,已经成为眼下比较流行的编程语言。本文将介绍如何使用Python语言实现用户名和密码登录的功能。

1、创建MySQL数据库和数据表

MySQL是目前非常流行的数据库管理系统,是许多网站和应用程序的首选。本文使用MySQL数据库存储用户数据,创建一个名为user的数据表,包含4个字段:id、username、password、email。

CREATE TABLE user (

id int(11) NOT NULL AUTO_INCREMENT,

username varchar(50) NOT NULL,

password varchar(255) NOT NULL,

email varchar(50) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2、安装Python模块

本文使用Python 3.7版本,需要使用以下Python模块:pymysql和getpass。

pymysql模块是Python连接MySQL数据库的工具,使用pip install pymysql安装。

getpass模块是Python中的一个标准库模块,它使用Python缺省输入模式获取用户输入,使用pip install getpass安装。

3、Python代码实现

下面是Python代码实现用户名和密码登录功能。首先,需要导入需要的模块:

import pymysql

import getpass

接下来,定义数据库连接信息:

host = 'localhost'

port = 3306

user= 'root'

password = '123456'

database = 'test'

连接数据库,获取数据库操作对象:

conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database)

cursor = conn.cursor()

定义一个User类,包含id、username、password和email属性:

class User:

    id = 0

    username = ''

    password = ''

    email = ''

定义登录函数,在函数中使用pymysql模块查询用户数据表,判断用户名和密码:

def login():

    user = User()

    username = input('请输入用户名:')

    password = getpass.getpass(prompt='请输入密码:')

    sql = "SELECT * FROM user WHERE username=%s AND password=%s"

    cursor.execute(sql, (username, password))

    data = cursor.fetchone()

    if data:

        user.id = data[0]

        user.username = data[1]

        user.password = data[2]

        user.email = data[3]

        print('登录成功!')

    else:

        print('登录失败:用户名或密码错误!')

最后,关闭数据库连接:

conn.close()

完整代码如下:

import pymysql

import getpass

host = 'localhost'

port = 3306

user = 'root'

password = '123456'

database = 'test'

conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database)

cursor = conn.cursor()

class User:

    id = 0

    username = ''

    password = ''

    email = ''

def login():

    user = User()

    username = input('请输入用户名:')

    password = getpass.getpass(prompt='请输入密码:')

    sql = "SELECT * FROM user WHERE username=%s AND password=%s"

    cursor.execute(sql, (username, password))

    data = cursor.fetchone()

    if data:

        user.id = data[0]

        user.username = data[1]

        user.password = data[2]

        user.email = data[3]

        print('登录成功!')

    else:

        print('登录失败:用户名或密码错误!')

conn.close()

4、测试

正常运行Python代码后,可以输入正确的用户名和密码进行登录测试。

输入正确的用户名和密码:

请输入用户名:张三

请输入密码:

登录成功!

输入不存在的用户名:

请输入用户名:李四

请输入密码:

登录失败:用户名或密码错误!

输入错误的密码:

请输入用户名:张三

请输入密码:

登录失败:用户名或密码错误!

输入以上测试结果可以看出,该Python代码已经成功实现用户名和密码登录功能。

结论

通过本文的介绍和实现代码,我们可以了解到Python语言的MySQL连接及查询操作和getpass模块的使用方法,以及实现简单的用户名和密码登录功能的方法。通过Python实现用户名和密码登录功能的过程,对我们未来的Python开发工作具有极大的启发作用。