Tkinter & mysql 的登录框练习
import tkinter as tk
from tkinter import messagebox
import pymysql class SignIn(object):
def __init__(self, root):
self.root = root
self.name = None
self.password = None def the_Window(self, ): tk.Label(self.root, text=u"用户名(*):").grid(row=1, column=1, sticky='W')
tk.Label(self.root, text=u"密码(*):").grid(row=2, column=1, sticky='W')
self.name = tk.Entry(self.root)
self.name.grid(row=1, column=2, sticky='W')
self.password = tk.Entry(self.root, show="*")
self.password.grid(row=2, column=2, sticky='W')
tk.Button(self.root, text=u"登录", command=self.Login).grid(row=3, column=1, sticky='W')
tk.Button(self.root, text=u"注册", command=self.Register).grid(row=3, column=2, sticky='W')
tk.Label(self.root, text=u"(用户名只能出现字母,数字和下划线,不少于6位.)").grid(row=1, column=3, sticky='W')
tk.Label(self.root, text=u"(密码只能出现字母,数字和下划线,不少于12位.)").grid(row=2, column=3, sticky='W') def Login(self):
x = self.name.get()
y = self.password.get() if len(x) == 0 or len(y) == 0:
return
conn = pymysql.Connect('localhost','root','','test',3306) sql_select = "select * from test_db"
cur = conn.cursor()
try:
print(sql_select)
cur.execute(sql_select)
print(cur) rs = cur.fetchall()
print(rs) for r in rs:
if r[0] == x and r[1] == y:
messagebox.showinfo(title=u"登录成功", message=u"登录成功")
return
elif r[0] == x and r[1] != y:
messagebox.showerror(title=u"错误信息", message=u"密码错误")
messagebox.showerror(title=u"error", message=u"当前用户不存在") except Exception as e:
print(e) finally:
cur.close()
conn.close() def Register(self):
x = self.name.get()
y = self.password.get()
if len(x) == 0 or len(y) == 0:
return
self.name.delete(0)
self.password.delete(0)
# print x, y
conn = pymysql.Connect('localhost','root','','test',3306)
sql_select = "select username from test_db"
sql_insert = 'insert test_db(username,password) values("%s", "%s")' % (x, y)
cur = conn.cursor()
try:
cur.execute(sql_select)
rs = cur.fetchall()
flag = 0
for r in rs:
if r[0] == x:
flag = 1
messagebox.showinfo(title=u"用户名错误", message=u"当前用户名存在,请修改")
break
if flag == 0:
cur.execute(sql_insert)
print(u"插入成功") conn.commit() except Exception as e:
conn.rollback()
print(e)
finally:
cur.close()
conn.close() if __name__ == "__main__":
root = tk.Tk()
sign = SignIn(root)
sign.the_Window() root.mainloop()


Tkinter & mysql 的登录框练习的更多相关文章
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- 4.羽翼sqlmap学习笔记之Post登录框注入
4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...
- Discuz! X2.5判断会员登录状态及外部调用注册登录框
Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...
- MySQL 1045登录失败
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信 ...
- Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]
在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...
- javascript实例学习之三——类新浪微博的登录框
该登录框和百度的搜索框类似,可以实现如下效果: 1.文字输入时自动弹出提示层 2,提示层根据输入文字进行自动过滤 3,提示层可以使用上下按键进行选择 4,提示层可以点击或者回车来确认输入 微博登录框h ...
- pyQt 每日一练习 -- 登录框
#coding=utf-8 #第一个练习,登录框 import sys from PyQt4 import QtGui,QtCore #登录框 class LoginBox(QtGui.QWidget ...
- mysql计算连续天数,mysql连续登录天数,连续天数统计
mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...
- phpmyadmin 4.x 版本无法看到登录框的处理
由于个人dreamhost即将到期问题,购买了一台VPS. 配置了一个CentOS 6.4 Linux 服务器,用Nginx+php-fpm搭建的环境. 这些都是废话,下面是重点: 当搭建后配置php ...
随机推荐
- 从一道题浅说 JavaScript 的事件循环
最近看到这样一道有关事件循环的前端面试题: //请写出输出内容 async function async1() { console.log('async1 start'); await async2( ...
- Error:(1, 1) java: 非法字符: '\ufeff'
找到 java 文件. 使用 notepad 打开,转码,并保存即可.
- 【POJ1321】棋盘问题
本题传动门 本题知识点:深度优先搜索 + 枚举 + 回溯 题意是要求我们把棋子放在棋盘的'#'上,但不能把两枚棋子放在同一列或者同一行上,问摆好这k枚棋子有多少种情况. 我们可以一行一行地找,当在某一 ...
- PHP 之Mysql优化
一.建立索引 普通索引 index: 对关键字没有要求. 唯一索引 unique index: 要求关键字不能重复.同时增加唯一约束. 主键索引 primary key: 要求关键字不能重复,也不能为 ...
- vim 注释颜色
方法一 修改 vim 配置文件 /etc/vim/vimrc (1)用vim打开 /etc/vim/vimrc文件 (2)按大写 ‘G’ 到最后一行,插入 hi comment ctermfg=6 ...
- java通过请求对象获取ip地址、获取ip地址
/** * 获取登录ip */ public String getIp(){ HttpServletRequest request = this.getRequest(); String ip = & ...
- 通过OpenSSL来生成PEM格式的私钥、PKCS8格式的私钥、公钥|pfx格式的私钥、cer格式的公钥
1.生成PEM格式RSA私钥 不对输出的文件内容进行加密 openssl genrsa -out private-rsa.key 对输出的文件内容进行加密(DES/AES128/AES256等) op ...
- EasyUi datagrid列表增加复选框
本文为博主原创,未经允许不得转载 1.增加复选框列 { field: 'oid', title: '<input type=\"checkbox\" name ...
- windows开机自动执行bat脚本
一.以windows下备份sql数据库为例,开机自动执行.bat脚本 1.新建dump.bat文件,文件中的代码如下: set YYYYmmdd=%date:~0,4%%date:~5,2%%date ...
- PLSQL Developer连接远程oracle配置(详细解读)
转自:https://blog.csdn.net/zhige_j/article/details/80832654 一.安装Instant Client 1. 下载Instant Client(轻量级 ...