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 的登录框练习的更多相关文章

  1. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  2. 4.羽翼sqlmap学习笔记之Post登录框注入

    4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...

  3. Discuz! X2.5判断会员登录状态及外部调用注册登录框

    Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...

  4. MySQL 1045登录失败

    当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信 ...

  5. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  6. javascript实例学习之三——类新浪微博的登录框

    该登录框和百度的搜索框类似,可以实现如下效果: 1.文字输入时自动弹出提示层 2,提示层根据输入文字进行自动过滤 3,提示层可以使用上下按键进行选择 4,提示层可以点击或者回车来确认输入 微博登录框h ...

  7. pyQt 每日一练习 -- 登录框

    #coding=utf-8 #第一个练习,登录框 import sys from PyQt4 import QtGui,QtCore #登录框 class LoginBox(QtGui.QWidget ...

  8. mysql计算连续天数,mysql连续登录天数,连续天数统计

    mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...

  9. phpmyadmin 4.x 版本无法看到登录框的处理

    由于个人dreamhost即将到期问题,购买了一台VPS. 配置了一个CentOS 6.4 Linux 服务器,用Nginx+php-fpm搭建的环境. 这些都是废话,下面是重点: 当搭建后配置php ...

随机推荐

  1. 机器学习---朴素贝叶斯与逻辑回归的区别(Machine Learning Naive Bayes Logistic Regression Difference)

    朴素贝叶斯与逻辑回归的区别: 朴素贝叶斯 逻辑回归 生成模型(Generative model) 判别模型(Discriminative model) 对特征x和目标y的联合分布P(x,y)建模,使用 ...

  2. 4、spark streaming+kafka

    一.Receiver模式 1. receiver模式原理图 在SparkStreaming程序运行起来后,Executor中会有receiver tasks接收kafka推送过来的数据.数据会被持久化 ...

  3. hhhhh我又双叒进步啦!

    虽然说从今天开始短暂的暑假一周假期正式开始,然而第一天我就深感在家有多无聊...所以说还是整天待在学校好丫! 不过,就算在家, 勤奋好学的 我也要认真做题!今天就一鼓作气地把排名刷到了第 50 名!! ...

  4. 【算法编程 C++ Python】根据前序遍历、中序遍历重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  5. 【大数据】安装关系型数据库MySQL 安装大数据处理框架Hadoop

    作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1.安装Mysql 使用命令  sudo apt-get ins ...

  6. LOL佐伊官方手办

      花199元在某宝上买的官方正版佐伊手办终于到了,话不多说直接上图!   虽然脸有点不切实际的大,但还是很可爱~

  7. oracle update from多表性能优化一例

    这几天测试java内存数据库,和oracle比较时发下一个update from语句很慢,如下: update business_new set fare1_balance_ratio = (sele ...

  8. Char.IsDigit与Char.IsNumber的区别

    需要判断Char是否为数字,查看了下MSDN,发现有三种方法: Char.IsDigit (aChar)              指示指定字符串中位于指定位置处的字符是否属于十进制数字类别 Char ...

  9. spring4.x企业应用开发读书笔记1

    第一章 概述 1 spring 以 ioc 和 aop 为内核,提供了展现层 springMVC.持久层SpringJDBC及业务层事务管理等一站式企业级应用技术. 2spring的特性 方便解耦,简 ...

  10. pytorch ImageFolder的覆写

    在为数据分类训练分类器的时候,比如猫狗分类时,我们经常会使用pytorch的ImageFolder: CLASS torchvision.datasets.ImageFolder(root, tran ...