陕西最好的云营销网站建设公司,怎么样开发app软件,惠州市建设交易中心网站,用什么做网站好前言
#源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户
登录系统主要需要判断账户是否存在#xff0c;不存在就注册一个账户#xff0c;如果第一次登录系统#xff0c;我们需要先新建一个文件…前言
#源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户
登录系统主要需要判断账户是否存在不存在就注册一个账户如果第一次登录系统我们需要先新建一个文件保存管理员的账户以及密码具体代码如下 def user_login(): user_namename.get() user_keykey.get() try: with open(d:\\user.pickle,rb) as user_file: user_infopickle.load(user_file) except FileNotFoundError: with open(d:\\user.pickle,wb) as user_file: user_info{admin:12345} pickle.dump(user_info,user_file) user_file.close() if user_name in user_info: if user_key user_info[user_name]: tkinter.messagebox.showinfo(title提示, message登录成功 ) else: tkinter.messagebox.showerror(提示,密码错误请重新输入) else: exist tkinter.messagebox.askyesno(提示,该用户名未注册是否立即注册) if exist: user_sign() 2. 注册账户
注册账户时需要判断该账户是否存在如果已经存在时提醒用户重新注册即可。
注册时还要输入两次密码判断是否一致。
具体代码如下 def user_sign(): sign_roottk.Toplevel(root) sign_root.title(注册账户) screenheightsign_root.winfo_screenheight() screenwidthsign_root.winfo_screenwidth() h220 w300 x(screenwidth-w)//2 y(screenheight-h)//2 sign_root.geometry(%dx%d%d%d%(w,h,x,y)) new_nametk.StringVar() tk.Label(sign_root,text欢迎来到注册系统,font(宋体,20),bgwhite,fgred,width20,height1).place(x7,y10) tk.Label(sign_root,text新的账户,font(宋体,12)).place(x20,y60) entry_nametk.Entry(sign_root,textvariablenew_name,font(宋体,12),showNone).place(x100,y60) new_keytk.StringVar() tk.Label(sign_root,text新的密码,font(宋体,12)).place(x20,y100) entry_keytk.Entry(sign_root,textvariablenew_key,font(宋体,12),show*).place(x100,y100) same_keytk.StringVar() tk.Label(sign_root,text请确认密码,font(宋体,12)).place(x10,y140) entry_keystk.Entry(sign_root,textvariablesame_key,font(宋体,12),show*).place(x100,y140) def sign_check(): namenew_name.get() key1new_key.get() key2same_key.get() with open(d:\\user.pickle,rb) as user_file: user_infopickle.load(user_file) user_file.close() if name in user_info: tkinter.messagebox.showerror(提示,该账户已存在) elif key1!key2: tkinter.messagebox.showerror(提示,两次输入密码不一致请重新输入) else: user_info[name]key1 with open(rd:\\user.pickle,wb) as user_file: pickle.dump(user_info,user_file) user_file.close() tkinter.messagebox.showinfo(提示,注册成功) sign_root.destroy() tk.Button(sign_root,text注册,font(宋体,12),bgred,fgwhite,width5,height1,commandsign_check).place(x130,y180) 3. 修改密码
修改密码时需要先确定需要修改密码的账户是否存在不存在无法修改密码。
修改密码时如果账户存在还要判断原密码是否一致以及新输入的两次密码是否一致。
具体源码如下 def user_change(): change_roottk.Toplevel(root) old_nametk.StringVar() old_keytk.StringVar() new_keytk.StringVar() same_keytk.StringVar() change_root.title(修改密码) screenheightchange_root.winfo_screenheight() screenwidthchange_root.winfo_screenwidth() h220 w300 x(screenwidth-w)//2 y(screenheight-h)//2 change_root.geometry(%dx%d%d%d%(w,h,x,y)) tk.Label(change_root,text欢迎来到修改密码系统,font(宋体,20),bgwhite,fggreen,width20,height1).place(x5,y10) tk.Label(change_root,text请输入你的账号,font(宋体,12),width15,height1).place(x5,y60) tk.Entry(change_root,textvariableold_name,showNone).place(x130,y60) tk.Label(change_root,text请输入原始密码,font(宋体,12),width15,height1).place(x5,y90) tk.Entry(change_root,textvariableold_key,showNone).place(x130,y90) tk.Label(change_root,text请输入修改密码,font(宋体,12),width15,height1).place(x5,y120) tk.Entry(change_root,textvariablenew_key,show*).place(x130,y120) tk.Label(change_root,text请确认你的密码,font(宋体,12),width15,height1).place(x5,y150) tk.Entry(change_root,textvariablesame_key,show*).place(x130,y150) def change_check(): nameold_name.get() key1old_key.get() key2new_key.get() key3same_key.get() with open(d:\\user.pickle,rb) as user_file: user_infopickle.load(user_file) user_file.close() if name in user_info: if key1user_info[name]: if key2key3: user_info[name]key2 with open(d:\\user.pickle,wb) as user_file: pickle.dump(user_info,user_file) user_file.close() tkinter.messagebox.showinfo(提示,修改成功) change_root.destroy() else: tkinter.messagebox.showerror(提示,两次密码不一致请重新输入) else: tkinter.messagebox.showerror(提示,密码错误请重新输入) else: existtkinter.messagebox.askyesno(提示,该账户不存在是否立即注册账户) if exist: user_sign() tk.Button(change_root,text修改,font(宋体,12),bggreen,fgwhite,commandchange_check).place(x130,y180) 4. 注销账户
注销账户时需要先判断账户是否存在然后输入两次原密码当输入的两次原密码相同时即可注销
成功。
具体代码如下 def user_del(): old_nametk.StringVar() old_keytk.StringVar() same_keytk.StringVar() del_roottk.Toplevel(root) del_root.title(注销账户) screenheightdel_root.winfo_screenheight() screenwidthdel_root.winfo_screenwidth() h220 w300 x(screenwidth-w)//2 y(screenheight-h)//2 del_root.geometry(%dx%d%d%d%(w,h,x,y)) tk.Label(del_root,text欢迎来到注销账户系统,font(宋体,20),bgwhite,fgblack,width20,height1).place(x5,y10) tk.Label(del_root,text请输入你的账号,font(宋体,12),width15,height1).place(x5,y60) tk.Entry(del_root,textvariableold_name,showNone).place(x130,y60) tk.Label(del_root,text请输入原始密码,font(宋体,12),width15,height1).place(x5,y100) tk.Entry(del_root,textvariableold_key,showNone).place(x130,y100) tk.Label(del_root,text请确认你的密码,font(宋体,12),width15,height1).place(x5,y140) tk.Entry(del_root,textvariablesame_key,show*).place(x130,y140) def del_check(): nameold_name.get() key1old_key.get() key2same_key.get() with open(d:\\user.pickle,rb) as user_file: user_infopickle.load(user_file) user_file.close() if name in user_info: if key1key2: if key1user_info[name]: user_info.pop(name) with open(d:\\user.pickle,wb) as user_file: pickle.dump(user_info,user_file) user_file.close() tkinter.messagebox.showinfo(提示,注销成功) else: tkinter.messagebox.showerror(提示,密码错误) else: tkinter.messagebox.showerror(提示,两次密码不一致) else: existtkinter.messagebox.askyesno(提示,该账户不存在是否立即注册) if exist: user_sign() tk.Button(del_root,text注销,font(宋体,12),bgblack,fgwhite,commanddel_check).place(x130,y180)