tk+mysql实现注册登录
时间: 2023-06-14 08:08:24 浏览: 230
以下是一个使用 Tkinter 和 MySQL 实现注册和登录功能的简单示例代码:
```python
import tkinter as tk
import mysql.connector
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建用户表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255), password VARCHAR(255))")
# 注册功能
def register():
username = username_entry.get()
password = password_entry.get()
# 在数据库中插入新用户
sql = "INSERT INTO users (username, password) VALUES (%s, %s)"
val = (username, password)
mycursor.execute(sql, val)
mydb.commit()
# 提示注册成功
tk.messagebox.showinfo("成功", "注册成功!")
# 登录功能
def login():
username = username_entry.get()
password = password_entry.get()
# 从数据库中查询用户是否存在
sql = "SELECT * FROM users WHERE username = %s AND password = %s"
val = (username, password)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result:
# 提示登录成功
tk.messagebox.showinfo("成功", "登录成功!")
else:
# 提示登录失败
tk.messagebox.showerror("错误", "用户名或密码错误!")
# 创建 Tkinter 窗口
root = tk.Tk()
root.title("注册/登录")
# 创建用户名和密码的输入框
username_label = tk.Label(root, text="用户名:")
username_label.pack()
username_entry = tk.Entry(root)
username_entry.pack()
password_label = tk.Label(root, text="密码:")
password_label.pack()
password_entry = tk.Entry(root, show="*") # 隐藏密码
password_entry.pack()
# 创建注册和登录按钮
register_button = tk.Button(root, text="注册", command=register)
register_button.pack()
login_button = tk.Button(root, text="登录", command=login)
login_button.pack()
root.mainloop()
```
请注意,这只是一个简单的示例,实际上需要更多的代码来处理错误和验证用户输入。同时,这种方式存储密码并不安全,建议使用加密的方法来存储密码。
阅读全文