Ich habe ein Problem beim Versuch, Anmeldeinformationen zu überprüfen (Ich werde den Code unten veröffentlichen). Ich frage mich, ob es passiert, weil ich Benutzername und Passwort als String in der Datenbank gespeichert habe, sollte ich es als Integer gespeichert haben?Python3, Tkinter, SQLite3 - Login Codierung Fehler
Das Problem: Ich denke, es ist einfacher, einfach ein Beispiel zu geben, was das Problem ist, vielleicht ist es einfacher zu verstehen.
Informationen, die korrekt ist (username = etwas und Passwort = Test)
Beispiel 1: Sie Eingabe „etwas“ als Benutzername und „password“ als Passwort - das ist in Ordnung es funktioniert, aber das nächste Beispiel sind, wo die Dinge schief gehen.
Beispiel 2: Sie geben den Benutzernamen "somethingfpsadadoia" und das Passwort "testing" ein - das Programm sagt, es ist korrekt, solange das Passwort korrekt ist. So lange, wie Sie einen Teil des Benutzernamens unter Benutzername eingeben, dann funktioniert das Passwort, aber alles danach wird nicht berücksichtigt, um zu sagen, dass es tatsächlich falsch ist.
Sehr geschätzt, wenn jemand helfen kann!
"" " def is_valid():
UsernameValidity=UserName_Entry.get()
PasswordValidity=Password_Entry.get()
cursor.execute('''SELECT password FROM users WHERE username = ?''', (UsernameValidity,))
cursor.execute('''SELECT username FROM users WHERE password = ?''', (PasswordValidity,))
LogInAttempt = cursor.fetchone()
print (Is_Valid) # Testing to see if it works on shell
if LogInAttempt:
print (" One of the accounts have successfully logged in ")
IsValidText.config(text=" You have logged in! ", fg="black", highlightthickness=1)
myGUI.after(1000, CoreContent) # Ignore this one for now.
else:
print (" One of the accounts inputted the wrong credentials! ")
IsValidText.config(text=" Invalid username or Password! ", fg="black", highlightthickness=1)
"""
Vielen Dank! – sago