From 2496d70ab4785bd6ee1d151f1a601e457778c6a1 Mon Sep 17 00:00:00 2001 From: pp2fytckq <1425355971@qq.com> Date: Sat, 1 Jun 2024 22:30:33 +0800 Subject: [PATCH] ADD file via upload --- login.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 login.py diff --git a/login.py b/login.py new file mode 100644 index 0000000..ec291fd --- /dev/null +++ b/login.py @@ -0,0 +1,91 @@ +from tkinter import * +import pymysql + + +# 注册功能 +def register(): + username = entry_username.get() + password = entry_password.get() + + try: + cursor.execute("INSERT INTO users (username, password) VALUES (%s, %s)", (username, password)) + con.commit() + label_message.config(text='注册成功!') + except Exception as e: + label_message.config(text='注册失败!') + print('数据库异常', e) + + +# 登录功能 +def login(): + global count + username = entry_username.get() + password = entry_password.get() + + cursor.execute("SELECT * FROM users WHERE username = %s AND password = %s", (username, password)) + result = cursor.fetchone() + + if result: + label_message.config(text='登录成功!') + window.destroy() + import welcome + else: + label_message.config(text='账号或密码错误!') + count += 1 + if count == 3: + label_message.config(text='登录失败!') + btn_login.config(state='disabled') + + +# 创建登录界面窗口 +window = Tk() +window.title("用户登录") +screen_width = window.winfo_screenwidth() +screen_height = window.winfo_screenheight() + +# 设置窗口大小和位置 +window_width = int(screen_width / 2) +window_height = int(screen_height / 2) +x = (screen_width - window_width) // 2 +y = (screen_height - window_height) // 2 +window.geometry("{}x{}+{}+{}".format(window_width, window_height, x, y)) + +# 创建用户名、密码输入框和登录按钮 +label_username = Label(window, text="账号:") +label_username.pack() +entry_username = Entry(window) +entry_username.pack() + +label_password = Label(window, text="密码:") +label_password.pack() +entry_password = Entry(window, show='*') +entry_password.pack() + +btn_login = Button(window, text="登录", command=login) +btn_login.place(x=310, y=90) + +btn_register = Button(window, text="注册", command=register) +btn_register.place(x=420, y=90) + +label_message = Label(window, text="", width=window_width) +label_message.place(x=0, y=120) +# 数据库连接部分 +con = pymysql.connect( + host='localhost', + user='root', + password='root', + database='health', + charset='utf8mb4', + autocommit=True +) +cursor = con.cursor() # 创建游标对象 + +# 查询用户信息并输出 +cursor.execute("select * from users") +result = cursor.fetchall() +print(type(result), result) +for row in result: + print(row) + +# 启动窗口主循环 +window.mainloop() \ No newline at end of file