由于缺乏具体的开发环境和语言要求,下面提供一个基于Python和tkinter的用户登录程序示例,请根据实际需求进行修改:

import hashlib
import tkinter as tk
import tkinter.messagebox as messagebox
import pymysql

class LoginFrame(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.label_user = tk.Label(self, text="用户名")
        self.label_user.pack()
        self.entry_user = tk.Entry(self)
        self.entry_user.pack()

        self.label_passwd = tk.Label(self, text="密码")
        self.label_passwd.pack()
        self.entry_passwd = tk.Entry(self, show="*")
        self.entry_passwd.pack()

        self.button_login = tk.Button(self, text="登录", command=self.login)
        self.button_login.pack()

    def login(self):
        user_id = self.entry_user.get()
        user_passwd = self.entry_passwd.get()
        if not user_id or not user_passwd:
            messagebox.showwarning("错误", "用户名和密码不能为空")
        else:
            # 连接数据库
            conn = pymysql.connect(host='localhost', user='root', password='password', database='testdb')
            cursor = conn.cursor()
            # 查询用户信息
            sql = "SELECT * FROM tbuser WHERE user_id=%s AND user_passwd=%s"
            md5 = hashlib.md5()
            md5.update(user_passwd.encode('utf-8'))
            passwd_md5 = md5.hexdigest()
            cursor.execute(sql, (user_id, passwd_md5))
            result = cursor.fetchone()
            if result:
                messagebox.showinfo("登录成功", "欢迎回来," + result[1])
            else:
                messagebox.showwarning("登录失败", "用户名或密码错误")
            cursor.close()
            conn.close()

if __name__ == '__main__':
    root = tk.Tk()
    root.title("用户登录")
    root.geometry("250x150")
    app = LoginFrame(master=root)
    app.mainloop()

说明:

  1. 该示例使用了Python的tkinter库实现GUI界面,使用pymysql库进行MySQL数据库操作,使用hashlib库进行密码加密。
  2. 在登录按钮的事件处理函数中,首先获取用户输入的用户名和密码,然后连接数据库,查询tbuser表中是否存在该用户,并检查密码是否正确。如果查询结果不为空,则说明用户名和密码正确,弹出登录成功提示框;否则弹出登录失败提示框。
  3. 用户密码经过MD5加密后存储在数据库中,比明文存储更加安全
步骤一、在 mysql 数据库中 创建 testdb 数据库。在 testdb 数据库中创建 tbuser 表。CREATE TABLE tbuser user_id varchar50 user_name varchar50 user_passwd varchar50 -- 经过 md5加密后的字符串 gender varchar1

原文地址: https://www.cveoy.top/t/topic/cYO2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录