这次的Python Tkinter窗体登录程序模板还是之前的,在此基础上进行了改进,这一次是通过创建一个新的列表和字典来存储和验证账号和密文(加密后的账号和密码);第一次的窗体登录程序是通过连接SQL数据库来存储账号和密码。

这是我自己将其封装后的代码,控件的位置是用相对位置表示,只能调用类里面的主函数Main()。


import hashlib
import sys
import tkinter
import tkinter.messagebox
from tkinter import *class FForm:# 设置账号密码存储def __init__(self):self.__List = []self.__Dic = dict()# 登录界面重置1def __Clear1(self, *args):self.__text1.delete(0, tkinter.END)self.__text2.delete(0, tkinter.END)self.__text1.focus()#   注册界面重置3def __Clear3(self, *args):self.__text11.delete(0, tkinter.END)self.__text12.delete(0, tkinter.END)self.__text13.delete(0, tkinter.END)self.__text11.focus()# 修改界面重置4def __Clear4(self):self.__text32.delete(0, tkinter.END)self.__text33.delete(0, tkinter.END)self.__text32.focus()# 注销界面重置5def __Clear5(self):self.__text41.delete(0, tkinter.END)self.__text41.focus()# 退出def __Exit(self, *args):self.__Form1.quit()self.__Form1.destroy()  # 关闭窗体·Form1后台运行self.__Form2.quit()self.__Form2.destroy()self.__Form3.quit()self.__Form3.destroy()self.__Form4.quit()self.__Form4.destroy()self.__Form5.quit()self.__Form5.destroy()sys.exit(1)# 窗体居中def __Center(self, winform):winform.config(background="#C0C0C0")self.__width = winform.winfo_screenwidth()  # 获取屏幕宽度self.__height = winform.winfo_screenheight()  # 获取屏幕高度winform.resizable(False, False)  # 窗体固定尺寸winform.geometry("%dx%d+%d+%d" % (self.__width / 2.1, self.__height / 2.1, self.__width / 4.0, self.__height / 4.0))winform.protocol("WM_DELETE_WINDOW", self.__Exit)# 跳转指定界面窗体def __Form(self, st):if st == 1:# 在跳转的窗体的时候要用withdraw()来隐藏当前窗体,不能使用destroy()来关闭窗体,# 因为会断掉与其他窗体的数据关联,特别是在连接了数据库的情况下。self.__Clear3()self.__Form2.withdraw()  # 隐藏窗体Form2self.__Form3.withdraw()  # 隐藏窗体Form2self.__Form4.withdraw()  # 隐藏窗体Form2self.__Form5.withdraw()  # 隐藏窗体Form2self.__Center(self.__Form1)  # 窗体Form1居中显示self.__Form1.deiconify()  # 窗体Form1显示self.__text1.focus()  # 鼠标光标定位在文本输入框text1elif st == 2:self.__Form1.withdraw()self.__Form3.withdraw()self.__Form4.withdraw()self.__Form5.withdraw()self.__Center(self.__Form2)self.__Form2.deiconify()elif st == 3:self.__Clear1()self.__Form1.withdraw()self.__Form2.withdraw()self.__Form4.withdraw()self.__Form5.withdraw()self.__Center(self.__Form3)self.__Form3.deiconify()self.__text11.focus()elif st == 4:self.__Form1.withdraw()self.__Form2.withdraw()self.__Form3.withdraw()self.__Form5.withdraw()self.__Center(self.__Form4)self.__Form4.deiconify()self.__text32.focus()elif st == 5:self.__Form1.withdraw()self.__Form2.withdraw()self.__Form3.withdraw()self.__Form4.withdraw()self.__Center(self.__Form5)self.__Form5.deiconify()self.__text41.focus()def __reForm1(self):  # 返回登录界面Form1self.__messbox = tkinter.messagebox.askyesno("提示", "是否返回登录界面?")if self.__messbox == YES:self.__Form(1)# 加盐加密操作def __Encrypt(self, SaltPwd):self.__obj = hashlib.md5(SaltPwd.encode("utf-8"))self.__obj.update(SaltPwd.encode("utf-8"))return self.__obj.hexdigest()# 界面1:登录功能def __Login(self):self.__user = self.__text1.get().strip()self.__pwd = self.__text2.get().strip()self.__CipherText = self.__Encrypt(self.__user + self.__pwd)  # 对账号和密码进行加盐加密后的密文if self.__user == "":tkinter.messagebox.showinfo("提示", "用户名不得为空!")self.__text1.focus()elif self.__pwd == "":tkinter.messagebox.showinfo("提示", "密码不得为空!")self.__text2.focus()elif self.__user + self.__CipherText in self.__List:tkinter.messagebox.showinfo("提示", "登录成功!")self.__label22["text"] = self.__userself.__Clear1()self.__Form(2)elif self.__user in self.__Dic.keys() and self.__user + self.__CipherText not in self.__List:tkinter.messagebox.showinfo("提示", "账号密码错误!")self.__text2.delete(0, tkinter.END)self.__text2.focus()elif self.__user not in self.__Dic.keys():self.__result = tkinter.messagebox.askyesno("提示", "账号不存在,是否选择注册一个新账号?")if self.__result == YES:self.__Clear1()self.__Form(3)else:self.__Clear1()self.__text1.focus()# 界面3:注册功能def __Register(self):self.__newuser = self.__text11.get().strip()self.__newpwd = self.__text12.get().strip()self.__renewpwd = self.__text13.get().strip()self.__CipherText = self.__Encrypt(self.__newuser + self.__newpwd)  # 对账号和密码进行加盐加密后的密文if self.__newuser == "":tkinter.messagebox.showinfo("提示", "注册账号不得为空!")self.__text11.focus()elif self.__newpwd == "":tkinter.messagebox.showinfo("提示", "注册账号密码不得为空!")self.__text12.focus()elif self.__newpwd != self.__renewpwd:tkinter.messagebox.showinfo("提示", "两次密码不一致,请重新输入密码!")self.__text13.delete(0, tkinter.END)self.__text13.focus()elif self.__newuser in self.__Dic.keys():tkinter.messagebox.askyesno("提示", "该账号已注册!请重新输入注册账号!")self.__Clear3()else:tkinter.messagebox.showinfo("提示", "新账号注册成功!")self.__List.append(self.__newuser + self.__CipherText)self.__Dic[self.__newuser] = self.__CipherTextself.__Clear3()self.__Form(1)# print("注册成功后的账号+密文:", self.__List)# print("注册成功后的账号和密文:", self.__Dic)# 界面4:修改密码def __Change(self):self.__user = self.__label22["text"]self.__olduser = self.__text32.get().strip()self.__newpwd = self.__text33.get().strip()self.__CipherText = self.__Encrypt(self.__user + self.__olduser)  # 对账号和旧密码进行加盐加密后的密文if self.__user == "":tkinter.messagebox.showinfo("提示", "账号输入不得为空!")self.__text32.focus()elif self.__olduser == "":tkinter.messagebox.showinfo("提示", "密码不得为空!")self.__text32.focus()elif self.__newpwd == "":tkinter.messagebox.showinfo("提示", "请输入新密码!")self.__text33.focus()elif self.__olduser == self.__newpwd:tkinter.messagebox.showinfo("提示", "请重新输入新密码!")self.__text33.delete(0, tkinter.END)self.__text33.focus()elif self.__user not in self.__Dic.keys():tkinter.messagebox.showinfo("提示", "账号不存在!")self.__Clear4()elif self.__user in self.__Dic.keys() and (self.__user + self.__CipherText) not in self.__List:tkinter.messagebox.showinfo("提示", "账号密码错误!")self.__text32.delete(0, tkinter.END)self.__text33.delete(0, tkinter.END)elif self.__user + self.__CipherText in self.__List:tkinter.messagebox.showinfo("提示", "账号密码修改成功!")self.__List.remove(self.__user + self.__CipherText)self.__CipherText2 = self.__Encrypt(self.__user + self.__newpwd)  # 对账号和新密码进行加盐加密self.__List.append(self.__user + self.__CipherText2)self.__Dic[self.__user] = self.__CipherText2self.__Form(1)# print("修改后的账号+密文:", self.__List)# print("修改后的账号和密文:", self.__Dic)# 界面5:账号注销def __Cancel(self):self.__user = self.__label22["text"]self.__pwd = self.__text41.get().strip()self.__CipherText = self.__Encrypt(self.__user + self.__pwd)  # 对账号和密码进行加盐加密后的密文if self.__text41.get() == "":tkinter.messagebox.showinfo("提示", "账号密码不得为空!")self.__text41.focus()elif self.__user + self.__CipherText in self.__List:tkinter.messagebox.showinfo("提示", "账号注销成功!")self.__List.remove(self.__user + self.__CipherText)self.__Dic.pop(self.__user)self.__Clear5()self.__Form(1)else:tkinter.messagebox.showinfo("提示", "账号密码错误!")self.__Clear5()# 主程序代码def Main(self):self.__Form1 = tkinter.Tk()  # 创建一个窗体Form1self.__Form2 = tkinter.Tk()  # 创建一个窗体Form2self.__Form3 = tkinter.Tk()  # 创建一个窗体Form3self.__Form4 = tkinter.Tk()  # 创建一个窗体Form4self.__Form5 = tkinter.Tk()  # 创建一个窗体Form5self.__Form1.title('登录界面')self.__Form2.title("主界面")self.__Form3.title("注册界面")self.__Form4.title("修改密码")self.__Form5.title("账号注销")self.__Center(self.__Form1)  # 窗体Form1居中显示self.__Center(self.__Form2)  # 窗体Form2居中显示self.__Center(self.__Form3)  # 窗体Form3居中显示self.__Center(self.__Form4)  # 窗体Form4居中显示self.__Center(self.__Form5)  # 窗体Form5居中显示# 一次性创建5个窗体后,需要用withdraw()来隐藏其他窗口,只显示一个登录窗口Form1self.__Form2.withdraw()  # 隐藏窗体Form2self.__Form3.withdraw()  # 隐藏窗体Form3self.__Form4.withdraw()  # 隐藏窗体Form4self.__Form5.withdraw()  # 隐藏窗体Form5# 登录界面Form1代码控件self.__label1 = tkinter.Label(self.__Form1, text="账号", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center", )self.__label1.place(x=self.__width / 13, y=self.__height / 16)self.__label2 = tkinter.Label(self.__Form1, text="密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label2.place(x=self.__width / 13, y=self.__height / 7.4)self.__text1 = tkinter.Entry(self.__Form1, font=("微软雅黑", 17), relief="flat", width=int(self.__width / 90), borderwidth=5, justify="center")self.__text1.place(x=self.__width / 7.5, y=self.__height / 16)self.__text2 = tkinter.Entry(self.__Form1, font=("微软雅黑", 17), show="*", relief="flat", width=int(self.__width / 90), borderwidth=5, justify="center")self.__text2.place(x=self.__width / 7.5, y=self.__height / 7.4)self.__text1.focus()  # 鼠标光标定位在文本输入框text1上面self.__button1 = tkinter.Button(self.__Form1, text="登录", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Login, )self.__button1.place(x=self.__width / 7.5, y=self.__height / 4.3)self.__button2 = tkinter.Button(self.__Form1, text="重置", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Clear1, )self.__button2.place(x=self.__width / 3.5, y=self.__height / 4.3)self.__button3 = tkinter.Button(self.__Form1, text="注册", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=lambda: self.__Form(3), )self.__button3.place(x=self.__width / 7.5, y=self.__height / 3)self.__button4 = tkinter.Button(self.__Form1, text="退出", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Exit)self.__button4.place(x=self.__width / 3.5, y=self.__height / 3)# 注册界面Form3代码控件self.__label11 = tkinter.Label(self.__Form3, text="注册账号", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label11.place(x=self.__width / 18, y=self.__height / 16)self.__label12 = tkinter.Label(self.__Form3, text="输入密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label12.place(x=self.__width / 18, y=self.__height / 8)self.__label13 = tkinter.Label(self.__Form3, text="确认密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label13.place(x=self.__width / 18, y=self.__height / 5.3)self.__text11 = tkinter.Entry(self.__Form3, font=("微软雅黑", 17), relief="flat", borderwidth=5, width=int(self.__width / 90), justify="center")self.__text11.place(x=self.__width / 6.7, y=self.__height / 15.5)self.__text12 = tkinter.Entry(self.__Form3, font=("微软雅黑", 17), relief="flat", show="*", borderwidth=5, width=int(self.__width / 90), justify="center")self.__text12.place(x=self.__width / 6.7, y=self.__height / 7.7)self.__text13 = tkinter.Entry(self.__Form3, font=("微软雅黑", 17), relief="flat", show='*', borderwidth=5, width=int(self.__width / 90), justify="center")self.__text13.place(x=self.__width / 6.7, y=self.__height / 5.2)self.__button11 = tkinter.Button(self.__Form3, text="确定", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Register)self.__button11.place(x=self.__width / 10, y=self.__height / 3.5)self.__button12 = tkinter.Button(self.__Form3, text="重置", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Clear3)self.__button12.place(x=self.__width / 4.6, y=self.__height / 3.5)self.__button13 = tkinter.Button(self.__Form3, text="取消", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=lambda: self.__Form(1))self.__button13.place(x=self.__width / 3, y=self.__height / 3.5)# 主界面Form2代码控件self.__button21 = tkinter.Button(self.__Form2, text="退出", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Exit)self.__button21.place(x=self.__width / 3.5, y=self.__height / 2.7)self.__button22 = tkinter.Button(self.__Form2, text="修改密码", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=("黑体", 17), padx=15, pady=5, command=lambda: self.__Form(4))self.__button22.place(x=self.__width / 10, y=self.__height / 3.8)self.__button23 = tkinter.Button(self.__Form2, text="账号注销", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=("黑体", 17), padx=15, pady=5, command=lambda: self.__Form(5), )self.__button23.place(x=self.__width / 3.7, y=self.__height / 3.8)self.__button24 = tkinter.Button(self.__Form2, text="返回", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=("黑体", 17), padx=15, pady=5, command=self.__reForm1, )self.__button24.place(x=self.__width / 8.8, y=self.__height / 2.7)self.__label21 = tkinter.Label(self.__Form2, text="账号:", font=("微软雅黑", 18), padx=10, pady=10, bg="#C0C0C0", relief="flat", justify="center", )self.__label21.place(x=self.__width / 22, y=self.__height / 18)self.__label22 = tkinter.Label(self.__Form2, text=self.__text1.get(), font=("微软雅黑", 18), padx=10, pady=10, bg="#C0C0C0", relief="flat", justify="left", )self.__label22.place(x=self.__width / 10, y=self.__height / 18)# 修改密码界面Form4代码控件self.__label32 = tkinter.Label(self.__Form4, text="旧密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label32.place(x=self.__width / 16, y=self.__height / 12)self.__label33 = tkinter.Label(self.__Form4, text="新密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label33.place(x=self.__width / 16, y=self.__height / 7)self.__text32 = tkinter.Entry(self.__Form4, font=("微软雅黑", 17), relief="flat", borderwidth=5, width=int(self.__width / 90), justify="center")self.__text32.place(x=self.__width / 7, y=self.__height / 11.5)self.__text33 = tkinter.Entry(self.__Form4, font=("微软雅黑", 17), show='*', relief="flat", borderwidth=5, width=int(self.__width / 90), justify="center")self.__text33.place(x=self.__width / 7, y=self.__height / 6.8)self.__button31 = tkinter.Button(self.__Form4, text="确定", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Change)self.__button31.place(x=self.__width / 9.5, y=self.__height / 3.8)self.__button32 = tkinter.Button(self.__Form4, text="重置", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Clear4)self.__button32.place(x=self.__width / 4.5, y=self.__height / 3.8)self.__button33 = tkinter.Button(self.__Form4, text="取消", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=lambda: self.__Form(2))self.__button33.place(x=self.__width / 3, y=self.__height / 3.8)# 账号注销界面Form5代码控件self.__label41 = tkinter.Label(self.__Form5, text="账号密码", bg="#C0C0C0", font=('微软雅黑', 18), bd=5, relief='flat', justify="center")self.__label41.place(x=self.__width / 18, y=self.__height / 10)self.__text41 = tkinter.Entry(self.__Form5, font=("微软雅黑", 17), relief="flat", borderwidth=5, width=int(self.__width / 95), justify="center")self.__text41.place(x=self.__width / 6.8, y=self.__height / 9.6)self.__button41 = tkinter.Button(self.__Form5, text="注销", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Cancel, )self.__button41.place(x=self.__width / 10, y=self.__height / 4.5)self.__button42 = tkinter.Button(self.__Form5, text="重置", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=self.__Clear5, )self.__button42.place(x=self.__width / 4.7, y=self.__height / 4.5)self.__button43 = tkinter.Button(self.__Form5, text="取消", bg="#C0C0C0", activebackground="#ffffff", relief='solid', font=('黑体', 17), padx=15, pady=5, command=lambda: self.__Form(2), )self.__button43.place(x=self.__width / 3, y=self.__height / 4.5)self.__Form5.mainloop()self.__Form4.mainloop()self.__Form3.mainloop()self.__Form2.mainloop()self.__Form1.mainloop()if __name__ == '__main__':st = FForm()st.Main()

这里还有一个是非窗体程序代码,也是通过列表和字典来实现的,

封装后的代码如下:


import sysclass ARR:def __init__(self):__List = []  # 新建一个列表,设为私有变量,或者__List=list()__Dic = dict()  # 新建一个字典,设为私有变量self.__List = __Listself.__Dic = __Dicdef __Login(self):print("\n-------------- 1.账号登录 -------------")self.__user = input("请输入账号:").strip()self.__pwd = input("请输入密码:").strip()while True:if self.__user == "":self.__user = input("账号不得为空!\n请输入账号:").strip()elif self.__pwd == "":self.__pwd = input("密码不得为空!\n请输入密码:").strip()elif self.__user not in self.__Dic.keys():self.__num = input("账号不存在!是否选择注册一个新账号?\n1、是;2、否\n").strip()if self.__num == "1":self.__Register()elif self.__num == "2":print()self.Main()else:num = input("请重新输入选择:").strip()self.Main()elif self.__user + self.__pwd in self.__List:print("登录成功!\n")self.Main()else:print("账号密码错误!")self.__Login()def __Register(self):print("\n-------------- 2.账号注册 -------------")self.__user = input("请输入账号:").strip()self.__pwd = input("请输入密码:").strip()self.__repwd = input("请确认密码:").strip()while True:if self.__user == "":self.__user = input("账号不得为空!\n请输入账号:").strip()elif self.__pwd == "":self.__pwd = input("密码不得为空!\n请输入密码:").strip()elif self.__repwd == "" or self.__repwd != self.__pwd:self.__repwd = input("请重新确认密码:").strip()elif self.__user in self.__Dic.keys():print("该账号已注册!")self.__Register()else:print("账号注册成功!\n")self.__List.append(self.__user + self.__pwd)self.__Dic[self.__user] = self.__pwdself.Main()def __Change(self):print("\n-------------- 3.修改密码 -------------")self.__user = input("请输入账号:").strip()self.__oldpwd = input("请输入旧密码:").strip()self.__newpwd = input("请输入新密码:").strip()while True:if self.__user == "":self.__user = input("账号不得为空!\n请输入账号:").strip()elif self.__oldpwd == "":self.__oldpwd = input("密码不得为空!\n请输入密码:").strip()elif self.__newpwd == "":self.__newpwd = input("新密码不得为空!\n请输入新密码:").strip()elif self.__oldpwd == self.__newpwd:self.__newpwd = input("请重新输入新密码:").strip()elif self.__user not in self.__Dic.keys():print("账号不存在!")self.__Change()elif self.__user + self.__oldpwd in self.__List:print("账号密码修改成功!\n")self.__List.remove(self.__user + self.__oldpwd)self.__List.append(self.__user + self.__newpwd)self.__Dic[self.__user] = self.__newpwdself.Main()else:print("账号密码错误!")self.__Change()def __Cancel(self):print("\n-------------- 4.账号注销 -------------")self.__user = input("请输入账号:").strip()self.__pwd = input("请输入密码:").strip()while True:if self.__user == "":self.__user = input("账号不得为空!\n请输入账号:").strip()elif self.__pwd == "":self.__pwd = input("密码不得为空!\n请输入密码:").strip()elif self.__user not in self.__Dic.keys():print("账号不存在!")self.Main()elif self.__user + self.__pwd in self.__List:print("账号注销成功!\n")self.__List.remove(self.__user + self.__pwd)self.__Dic.pop(self.__user)self.Main()else:print("账号密码错误!")self.__Change()def Main(self):print("1、账号登录;2、账号注册;3、修改密码;4、账号注销;0、退出程序")self.__num = input("请输入选择:").strip()while True:if self.__num == "1":self.__Login()elif self.__num == "2":self.__Register()elif self.__num == "3":self.__Change()elif self.__num == "4":self.__Cancel()elif self.__num == "0":print("程序已退出!")sys.exit(0)else:self.__num = input("请重新输入选择:")if __name__ == '__main__':st = ARR()st.Main()

以上就是主要代码,这次是通过新建列表和字典来存储和验证账号和密码,感兴趣的小伙伴可以来看看,可能还有一些不足之处,也欢迎大家指出。之前我是通过连接SQL Server数据库来实现:Python Tkinter窗体程序连接SQL Server数据库实现账号登录、账号注册等功能。

PythonTkinter实现账号登录、账号注册、账号注销等功能相关推荐

  1. java项目关联Q登陆,前后端分离项目 — SpringSocial 社交账号登录与注册

    1.前言 今天我们就来讲解下最后一篇如何使用SpringSocial来处理类似微信.QQ社交账号登录自己的平台,也就是大家说的第三方登录,获取社交账户所在平台的用户信息,与自己平台信息做个绑定的操作, ...

  2. 微软账号登录后本地账号就关联了且没有改用本地账号登录如何解决?

    问题 我用我的微软账号登录了 edge 或者 office 或者 微软别的啥应用 结果本地用administrator 用户 头像和用户名自动变成 微软账号了 这是一个bug改不了,网上找了任何方法都 ...

  3. Java-spring数据库编程(idea)实现学生账号登录以及管理员增删改查功能

    通过所学的Spring数据库编程知识,实现学生管理系统的登录及增删改查的功能.要求学生在控制台输入用户名密码,如果用户账号密码正确则显示登录成功,如果登录失败则显示登录失败.登录成功后,可以进行增删改 ...

  4. linux 中samba账号登录密码,samba账号密码无法登录问题

    各位大侠好 linux版本:centos 7.2 samba:yum安装  版本:4.6.2 建立了两个文件夹public,pmc,用户名:pmc  进行测试 问题: 在XP.win10上 publi ...

  5. php清除账号登录,php实现账号登录/上传/下载/删除文件

    环境:Ubuntu16.04 搭建apache+mysql+php 1.安装apache sudo apt-get update sudo apt-get install apache2 安装完后输入 ...

  6. 基于java的微信小程序的实现(二)登录,注册,注销接口的实现

    文章目录 1.开发工具以及相关环境的配置 2.编写注册接口 1.在api中创建一个专门提供注册和登录接口的controller 2.然后在公共模块中创建一个用来返回给前端结果的工具类,密码加密md5工 ...

  7. 【鸿蒙】鸿蒙App应用-《记账软件》登录,注册,找回密码功能

    1.登录功能 从[鸿蒙]鸿蒙App应用-<记账软件>开发步骤欢迎引导页进入之后,完成登录功能.界面效果如图 2.布局文件的搭建 在layout文件夹下新建xml文件,布局代码如下: < ...

  8. 完整登录、注册页面(无功能)

    参考连接: https://www.cnblogs.com/qxxblogs/p/12388482.html https://www.cnblogs.com/knuzy/p/9993181.html ...

  9. Qt连接mysql数据库、数据库开启远程连接,实现QQ登录、注册、修改密码功能(已实现),后续继续更新中...

    视频示例:如下直通车 Qt连接数据库 个人博客直达 一.安装Mysql数据库软件 1.下载安装连接:点击连接 2.解压,打开如下 3.设置环境变量 4.修改添加环境变量 5.新建配置文件my.ini( ...

  10. C#窗体程序连接SQL Server数据库实现账号登录、账号注册、修改密码、账号注销和实名认证(不定时更新)

    目录 一.配置数据库文件和程序代码 二.配置C#窗体控件布局和源代码 1.窗体Form1:账号登录界面 2.窗体Form2:账号注册界面 3.窗体Form3:主界面 4.窗体Form4:修改密码界面 ...

最新文章

  1. .NET与java的MVC模式(3):ASP.NET 页生命周期概述
  2. Golang之单元测试
  3. ORACLE---数据库巡检
  4. python管理技巧_8个经典的Python列表技巧,让你数据处理更简单!
  5. Eclipse代码注释模板
  6. 【网络收集】order by 自定义排序
  7. SAP UI5应用中的component-preload.js在Netweaver上的存储
  8. 记一次 .NET 某HIS系统后端服务 内存泄漏分析
  9. abaqus质量缩放系数取值_ABAQUS/Explicit质量缩放(MASS SCALING)使用心得  [转simwe]...
  10. 复旦提出GaitSet算法,步态识别的重大突破!
  11. 视觉SLAM十四讲学习笔记-第二讲-初识SLAM
  12. Exchange企业实战技巧(17)让密件抄送给特定用户
  13. sap未分摊差异怎么处理_MM采购中形成的差异
  14. 千年新论:马谡的错误在于盲目创新,正确做法是死板教条
  15. 全国计算机等级考试二级Web程序设计考试大纲(2018年版)
  16. [Chrome插件] SelectJd(京东自营筛选器) v1.0.0 发布
  17. 4600u黑苹果 r5_黑苹果从入门到精通 篇四:Mojave黑苹果主要硬件兼容性总结及笔记本推荐...
  18. 永磁同步电机市场现状及未来发展趋势
  19. 利用python在excel中画图
  20. 为什么快手不能左右滑了_快手上滑切换下一个视频怎么设置

热门文章

  1. 【JY】YJK前处理参数详解及常见问题分析:刚度系数(三)
  2. 乐S3首销售罄,高性价比千元旗舰引爆手机市场
  3. 电脑突然卡主动不了了_电脑突然卡住不动了怎么办 电脑卡住解决方法【图文】...
  4. 城南170万高性价比叠拼,上车机会不多了!
  5. geoserver-ows服务扩展
  6. 27. 移除元素-E
  7. win10搜索框有图案怎么去掉?win10任务栏搜索框有图案
  8. Educoder:jQuery遍历
  9. Linux route详解
  10. 如何在Linux操作系统上使用Docker打包镜像上传到aliyun镜像仓库?