当前位置: 首页 > news >正文

网站需要怎么做的吗优质做网站哪家好

网站需要怎么做的吗,优质做网站哪家好,无锡做网站价格,做网站简历怎么写文章目录数据库账户注册账号登录找回密码为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中。如果输入的账号和密码与数据库中的一致,那我们就允许用户登录,进入新的界面。…

文章目录

    • 数据库
    • 账户注册
    • 账号登录
    • 找回密码

为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中。如果输入的账号和密码与数据库中的一致,那我们就允许用户登录,进入新的界面。

上篇文章介绍了如何使用PyQt5制作用户登录界面,这篇文章在此基础上展开,建立简单数据库,实现账号登录、账户注册以及找回密码的功能。

数据库

数据库是一个按数据结构来存储和管理数据的计算机软件系统。在 python 语言中,常用的数据库有两种:

  1. 一种是 pymysql,就是使用 python 连接 Mysql 数据库;
  2. 另一种是 python 语言自带的数据库 SQLite3,无需安装,直接使用,方便快捷!

我们这里使用 SQLite3,首先建立数据库user,并加入字段 user_id 与 password,代码如下。这样就建立好基础数据库了

import sqlite3# 连接到SQLite数据库,建立数据库文件mrsoft.db,如果文件不存在,自动建立。
conn = sqlite3.connect('mrsoft.db')
# 创建一个cursor(游标)
cursor = conn.cursor()# 执行一条SQL语句,创建user,包括账号user_id与密码password
cursor.execute('create table user (user_id varchar(30) primary key, password varchar')# 关闭游标
cursor.close()# 提交事务
conn.commit()
# 关闭connection
conn.close()

账户注册

账号注册首先要读取 lineEdit 中输入的字符串,如果输入的账号在数据库中已存在,或者两次输入的密码不一致,再或者输入为空,则提示注册失败;否则就可以成功注册。

在这里插入图片描述

  • 连接数据库,获取输入的账号和两次密码
  • 判断两次输入密码是否一致
  • 判断账号是否已被注册
  • 账号注册成功
import sqlite3conn = sqlite3.connect("./database/mrsoft.db")
cursor = conn.cursor()
user_id = self.lineEdit.text()  # 获取账号
password = self.lineEdit_2.text()  # 获取密码
confirm = self.lineEdit_3.text()   # 确认密码# 如果两次输入密码一致都不为空
if password == confirm and password and user_id:if self.id_exist(user_id):QMessageBox.information(self, "提示", "该用户名已存在!",QMessageBox.Ok)else:# sql语句,符合条件的给数据库中加入新的账号和密码sql = 'insert into user (user_id, password, authority) values (?, ?, "普通用户")'cursor.execute(sql, (user_id, password))QMessageBox.information(self, "提示", "注册成功!",QMessageBox.Ok)
# 如果两次输入密码不一致,发出提示
elif password != confirm:QMessageBox.information(self, "提示", "两次输入的密码不一致,请重新输入!",QMessageBox.Ok)
# 其他情况,报错
else:QMessageBox.information(self, "提示", "输入错误!",QMessageBox.Ok)
conn.commit()
cursor.close()
conn.close()# 检验注册的账户是否存在
def id_exist(self, user_id):conn = sqlite3.connect("./database/mrsoft.db")cursor = conn.cursor()user_id = self.lineEdit.text()  # 获取账号# 从数据库中查找是否有输入的账号sql = 'select user_id from user where user_id=?'cursor.execute(sql, (user_id,))# 获取符合条件的所有信息data = cursor.fetchall()cursor.close()conn.close()# 若数据存在表示已有该账号存于数据库中if data:return Trueelse:return False

账号登录

获取输入账号,密码,与数据库中的账号密码比对,如果一致,则进入新的页面。

import sqlite3# 连接数据库
conn = sqlite3.connect("./database/mrsoft.db")
cursor = conn.cursor()
user_id = self.lineEdit.text()   # 获取账号
password = self.lineEdit_2.text()  # 获取密码
# sql语句,判断数据库中是否拥有这账号和密码
sql = 'select user_id, password, authority from user where user_id=? and password=? and authority=?'
cursor.execute(sql, (user_id, password, self.authority))
# 获取一致的部分,存在表示输入正确,不存在提示错误
data = cursor.fetchall()
# 账号和密码不为空时候,才进入
if user_id or password:if data:self.core_page.show()else:QMessageBox.information(None, "提示", "您的登录账号/密码错误!",QMessageBox.Ok)
cursor.close()
conn.close()

找回密码

获取输入的账号和密码,如果账户不存在,提示用户名不存在。如果两次输入的密码一样且不为空,并且账户名存在,则执行密码重置功能。

在这里插入图片描述

import sqlite3conn = sqlite3.connect("./database/mrsoft.db")
cursor = conn.cursor()
user_id = self.lineEdit.text()  # 获取账号
password = self.lineEdit_2.text()  # 获取密码
confirm = self.lineEdit_3.text()  # 确认密码
if password == confirm and password and user_id:# 判断账号是否存在,如存在则更改密码,否则报错if self.id_exist():sql = 'update user set password=? where user_id=?'cursor.execute(sql, (password, user_id))QMessageBox.information(self, "提示", "密码已更改!",QMessageBox.Ok)else:QMessageBox.information(self, "提示", "该用户名不存在!",QMessageBox.Ok)
elif password != confirm:QMessageBox.information(self, "提示", "两次输入的密码不一致,请重新输入!",QMessageBox.Ok)
else:QMessageBox.information(self, "提示", "输入错误!",QMessageBox.Ok)
conn.commit()
cursor.close()
conn.close()# 检验注册的账户是否存在
def id_exist(self, user_id):conn = sqlite3.connect("./database/mrsoft.db")cursor = conn.cursor()user_id = self.lineEdit.text()  # 获取账号# 从数据库中查找是否有输入的账号sql = 'select user_id from user where user_id=?'cursor.execute(sql, (user_id,))# 获取符合条件的所有信息data = cursor.fetchall()cursor.close()conn.close()# 若数据存在表示已有该账号存于数据库中if data:return Trueelse:return False

日常学习记录,一起交流讨论吧!侵权联系~

http://www.yayakq.cn/news/116252/

相关文章:

  • wordpress建立企业网站仓库管理系统界面
  • 务川自治县建设局网站樟木头镇网站仿做
  • 如何建立学校网站莱州网页设计公司
  • 网站权重与排名浅谈wordpress 评论ip拉黑
  • server 2008 iis部署网站营销方案设计
  • 社科联网站建设情况汇报免费的网站建设
  • 根据网站集约化建设要求建筑公司发展规划
  • 到哪里查网站备案信息十堰seo推广
  • 个人网站命名技巧景德镇网站建设景德镇
  • 免费网站安全软件下载安装怎么申请免费网址
  • 门户网站用什么后台系统好电子政务网站建设的步骤一般为
  • 网站没有备案信息该怎么做如何选择丹徒网站建设
  • 慈溪电商网站建设公司商务网站建设需要备案吗
  • 洛阳建设局网站一个好网站
  • 制作精美网站建设服务周到电商产品开发员有前景吗
  • 珠海专业网站建设西安专业做网站建设
  • 腾度网站建设目前安卓手机哪个最好用
  • 建瓯网站制作2023年没必要学php了
  • 如何查一个网站的备案信息榆林高端网站建设
  • 在线制作钓鱼网站源码哈尔滨网站建设培训
  • php做网站特效建站哪个好一点
  • 做网站如何把支付宝微信吧窗帘网站建设策划书
  • 广州做外贸网站建设网站建设实训心得php
  • wordpress 图片迁移北京seo专员
  • 深圳住房与建设部网站企业vi设计合同
  • 网站建设目录免费海报设计网站有哪些
  • linux怎么做网站郑州新一网站建设
  • 陕西的建设厅官方网站建设公司logo图片大全
  • 网页设计作品欣赏网站百度网页翻译
  • 罗源福州网站建设最新国际足球世界排名