Daten aus DB mit Variable vergleichen.
Verfasst: Dienstag 13. März 2018, 13:13
Ich habe ein Problem. Hoffentlich seid ihr nochmal so nett und helft mir. Und zwar möchte ich ein Servicebereich haben, indem man natürlich nur per Passwort kommen soll. Da dieses Passwort später auch mal geändert werden soll, habe ich einfach eine Tabelle in der Datenbank mit den Spalten "ID" und "Passwort" erstellt. Nun soll das Programm das dort eingetragene Passwort auslesen und mit dem eingegebenen vergleichen. Auslesen etc alles kein Problem. Allerdings sobald ich vergleiche sagt er immer, dass das Passwort korrekt ist. Hier mal der Code:
def weiter_einlernen():
Passwort = Eingabefeld_Passwort.get()
FensterEinlernen1.destroy()
print(Passwort)
Verbindung = mysql.connector.connect(user = '***', password = '***', host='***' ,database = '***')
cursor = Verbindung.cursor()
cursor.execute("SELECT ID, Passwort FROM Passwort WHERE ID = '{}'".format("1"))
for(ID, Passwort) in cursor:
#Daten aus der Datenbank in Variablen schreiben
aktuelles_Passwort = '{}'.format(Passwort)
print(aktuelles_Passwort)
#Passworteingabe korrekt
if str(aktuelles_Passwort) == str(Passwort):
FensterEinlernen2 = Toplevel()
FensterEinlernen2.title("Service")
FensterEinlernen2.geometry('800x480')
Xpos = 0
Ypos = 0
FensterEinlernen2.geometry("+%d+%d" % (Xpos, Ypos))
Ich habe den Vergleich erst ohne "str" und dann mal mit gemacht um einfach zu probieren ob es klappt doch es ändert sich nichts. Wenn ich allerdings statt für "Passwort" z.B. "v" eingebe sagt er mir, dass das Passwort nicht korrekt ist. (Natürlich geht der Code danach noch weiter allerdings geht es ja nur um den IF-Satz. Ich sage schon mal Danke.
def weiter_einlernen():
Passwort = Eingabefeld_Passwort.get()
FensterEinlernen1.destroy()
print(Passwort)
Verbindung = mysql.connector.connect(user = '***', password = '***', host='***' ,database = '***')
cursor = Verbindung.cursor()
cursor.execute("SELECT ID, Passwort FROM Passwort WHERE ID = '{}'".format("1"))
for(ID, Passwort) in cursor:
#Daten aus der Datenbank in Variablen schreiben
aktuelles_Passwort = '{}'.format(Passwort)
print(aktuelles_Passwort)
#Passworteingabe korrekt
if str(aktuelles_Passwort) == str(Passwort):
FensterEinlernen2 = Toplevel()
FensterEinlernen2.title("Service")
FensterEinlernen2.geometry('800x480')
Xpos = 0
Ypos = 0
FensterEinlernen2.geometry("+%d+%d" % (Xpos, Ypos))
Ich habe den Vergleich erst ohne "str" und dann mal mit gemacht um einfach zu probieren ob es klappt doch es ändert sich nichts. Wenn ich allerdings statt für "Passwort" z.B. "v" eingebe sagt er mir, dass das Passwort nicht korrekt ist. (Natürlich geht der Code danach noch weiter allerdings geht es ja nur um den IF-Satz. Ich sage schon mal Danke.