我目前正在制作用户名+密码登录系统,并且有一个包含以前注册用户的用户名和密码的文件。注册用户的程序的一面工作完美,但我试图实现一个系统来检查文件中的数据,并在用户输入正确的数据时签名。
编辑:数据库中的一个组合,它的结构都是这样的; [[" ExampleUsername"," BadPasswrdo14130"]]
这是代码:
# Login Interface using files as a 'login database' of sorts?
import json
def autoSave():
with open("Accounts.json", "w") as outfile:
json.dump(accounts, outfile)
def loadUsers():
with open("Accounts.json") as infile:
return json.load(infile)
def existingUser():
eUsername = input("Your Username » ")
ePassword = input("Your Password » ")
for index, item in (accounts):
if item[1] == eUsername and item[2] == ePassword:
print("Logged in")
else:
print("Login failed")
def createUser():
global accounts
nUsername = input("Create Username » ")
nPassword = input("Create Password » ")
entry = [nUsername, nPassword]
accounts.append(entry)
accounts = accounts[:500000]
autoSave()
accounts = loadUsers()
如何从数据库文件中检索数据并使用用户输入的数据检查数据? 我已经尝试了但是它不起作用,总是说登录失败,这是代码的一部分:
def existingUser():
eUsername = input("Your Username » ")
ePassword = input("Your Password » ")
for index, item in (accounts):
if item[1] == eUsername and item[2] == ePassword:
print("Logged in")
else:
print("Login failed")
答案 0 :(得分:0)
@ForceBru
这是我试图阻止重复帐户的代码,它允许你欺骗帐户,但是在创建一个新帐户时,它表示它已经创建,但不是,但无论如何创建它。
def createUser():
global accounts
nUsername = input("Create Username » ")
nPassword = input("Create Password » ")
for item in accounts:
if item[0] == nUsername:
return "Account Username already exists, try again"
else:
entry = [nUsername, nPassword]
accounts.append(entry)
accounts = accounts[:500000]
autoSave()