def set_in(self): #注册 self.userphone = input("通过页面点击输入您需要注册的手机号码\n") password1 = input("通过页面点击设置第一次密码\n注意:密码长度不能少于6位,最大20位\n") password2 = input("通过页面点击设置第二次密码\n") if password1 == password2 and len(password1) >= 6 and len( self.userphone) == 11: connect_obj = Mysqlpython("database_user_first_info") #数据库中登录信息表 sql = "select * from user_info \ where userphonename = %s" % self.userphone #匹配表内是否已经注册过 match = connect_obj.all(sql) if not match: user.phone_check() key = input("首次注册需要验证您的手机号码\n请输入您收到的验证码验证\n") if key == self.massage_num: #验证发送的短信验证码是否正确 print("注册成功") key = input("是否进行邮箱验证以便后续使用?\n1.是 2.暂时不需要\n") if key == '1': s = send_check_email() self.emailaddress = s.mail() if key != '1': pass self.userpassword = password1 user.jiami() sql = "insert into user_info values (0,'%s','%s','%s');" % ( self.userphone, self.userpassword, self.emailaddress) connect_obj.zhixing(sql) #将注册信息添加入数据库表 user.login() #返回登录界面重新登录 else: print("输入验证码不正确\n返回重新注册") user.set_in() else: print("帐号已存在") key = input("返回登录界面或忘记密码\n 0返回主页面 1重新登录 2重新注册\n") if key == '0': user.showmain() if key == '1': user.login() if key == '2': user.set_in() key = input("两次输入密码不一致或手机号码长度有误\n 0返回主页面 1登录 2重新注册\n") if key == '0': user.showmain() if key == '1': user.login() if key == '2': user.set_in()
class TftpServer(object): def __init__(self, connfd): self.connfd = connfd self.db = Mysqlpython("tftp") def do_login(self, name, passwd): '''登录''' select = "select name,passwd from user where name=%s" result = self.db.all(select, [name]) if len(result) == 0: self.connfd.send(b"nameError") else: if result[0][1] == passwd: self.connfd.send(b"OK") else: self.connfd.send(b"passwdError") def do_register(self, name, passwd): '''注册''' select = "select name from user where name=%s" result = self.db.all(select, [name]) if len(result) == 0: insert = "insert into user(name,passwd) values(%s,%s)" result = self.db.zhixing(insert, [name, passwd]) if result == "OK": self.connfd.send(b"OK") # 注册成功时在路径下创建该用户的文件夹 os.mkdir(FAIL_PATH + name) else: print(result) self.connfd.send(b"failed") else: self.connfd.send(b"exist") def do_put(self, name, filename): '''客户端上传''' with open(FAIL_PATH + name + '/' + filename, "wb") as f: while True: data = self.connfd.recv(4096) if data == b"##*##": data = self.connfd.send(b"OVER") break f.write(data) # 将文件名大小存入数据库 try: remo = "delete from document where name=%s and filename=%s" self.db.zhixing(remo, [name, filename]) insert = "insert into document(name,filename,filesize) values(%s,%s,%s)" filesize = os.path.getsize(FAIL_PATH + name + '/' + filename) self.db.zhixing(insert, [name, filename, filesize]) except Exception as e: print(e) def decide(self, name, filename): # 判断文件是否存在 filename = filename.split("#*#") decide_file = "" for x in filename: if x != "" and x in os.listdir(FAIL_PATH + name): decide_file += x + "#*#" if decide_file: self.connfd.send(decide_file.encode()) else: self.connfd.send(b"None") def showfile(self, name): # 返回服务器该用户所有的文件名和文件大小 files = "" for x in os.listdir(FAIL_PATH + name): files += x + "#*#" if files: self.connfd.send(files.encode()) else: self.connfd.send(b"None") def remove(self, name, filename): # 删除文件 if filename in os.listdir(FAIL_PATH + name): os.remove(FAIL_PATH + name + '/' + filename) self.connfd.send(b"OK") remo = "delete from document where name=%s and filename=%s" self.db.zhixing(remo, [name, filename]) else: self.connfd.send(b"None") def do_get(self, name, filename): # 客户端下载 if filename in os.listdir(FAIL_PATH + name): self.connfd.send(b"OK") time.sleep(0.1) with open(FAIL_PATH + name + '/' + filename, "rb") as f: while True: data = f.read(4096) if not data: time.sleep(0.1) self.connfd.send(b"##*##") break self.connfd.send(data) else: self.connfd.send(b"failed")
from mysqlpython import Mysqlpython # 创建对象 sqlh = Mysqlpython("db5") sqlh.zhixing('update t1 set score=100') r = sqlh.all('select * from t1') print(r)
if r: print("用户名已存在") continue else: pwd1 = input("请输入密码:") pwd2 = input("请再次输入密码:") #密码一致,注册成功 if pwd1 == pwd2: #对密码进行加密,存入数据库 s = sha1() #创建sha1加密对象 s.update(pwd1.encode("utf8")) #不能对字符串加密 要把字符串转为字节流 pwd = s.hexdigest() #返回十六进制加密结果 ins = "insert into user values(%s,%s)" sqlh.zhixing(ins, [uname, pwd]) print("注册成功") else: print("密码不一致") elif choice.strip() == "2": #登录功能 #接收用户输入的用户名和密码 uname = input("请输入用户名:") pwd = input("请输入密码:") #到数据库中查询 sel = "select password from user where username = %s" result = sqlh.all(sel, [uname]) # print(result)
from mysqlpython import Mysqlpython sqlh = Mysqlpython("db5") dele = "delete from t1 where name='小孩子'" sqlh.zhixing(dele)
from mysqlpython import Mysqlpython sql = Mysqlpython("db5") dele = "delete from t1 where name='小孩子'" sql.zhixing(dele)