尝试验证凭据时出现问题(我将在下面发布代码)。 我想知道是否正在发生,因为我在数据库中将用户名和密码存储为字符串,是否应该将其存储为整数?

问题:我认为简单地举例说明问题是更容易的,也许更容易理解。

正确的信息(用户名=密码,密码=测试)

示例1:您输入“ something”作为用户名,输入“ password”作为密码-很好,但是下一个示例出了问题。

示例2:您输入用户名“ somethingfpsadadoia”和密码“ testing”-只要密码正确,程序就会说它是正确的。 因此,只要您在用户名条目下包含用户名的一部分,那么密码就可以使用,但是此后的任何操作都不会被认为是错误的。

非常感谢任何人都可以提供帮助!

“”“ 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)

“”

===============>>#1 票数:1 已采纳

您正在执行两个完全独立的查询。 第二次execute调用将丢弃第一个调用的任何结果; cursor获取的是第二个查询的结果。

查看每一行时,您必须告诉数据库检查这两个值:

cursor.execute('SELECT 1 FROM users WHERE username = ? AND password = ?',
               [UsernameValidity, PasswordValidity])
LogInAttempt = cursor.fetchone()

  ask by sago translate from so

未解决问题?本站智能推荐:

1回复

登录成功后,Python,Tkinter,SQlite3将用户重定向到新窗口

我是编程中的新手,我创建了以下源代码来验证用户是否成功登录。 我想在用户输入条目中的正确凭据后,将用户重定向到新窗口并摆脱当前窗口。 是否可以使用顶级方法?
1回复

如何在python中使用tkinter和sqlite

我在将tkinter条目传递到sqlite时遇到问题。我的目标是建立用户界面来收集数据以及删除,显示,更新,我将继续学习。 我认为我的问题 我改变了里面的括号 我也尝试过改变 。 感谢您的帮助 。
1回复

Python sqlite3,tkinter显示多行

我是python的新手,最近我使用带tkinter的Python和Sqlite3制作字典。 当我运行代码时,它在IDLE中返回多行,但在GUI中它仅显示最后一个结果。 我想在GUI中显示所有信息。 感谢您的帮助和建议。
1回复

Python Tkinter将列表框项目排序到Sqlite数据库

我有一个拖放列表框( 在此处找到 ),使用户可以上下拖动/移动项目以重新排序。 我有一个最初看起来像这样的db.sqlite文件: 我想做的是在列表框中重新排列项目的顺序,并将该顺序保存到数据库中,因此当我重新启动程序时,这些项目的顺序与上次使用时的顺序相同。 问题:每次我重
1回复

将数据从Tkinter插入Sqlite3-sqlite3.OperationalError:“”附近):语法错误

许多人都发布了有关此错误的信息,但我无法弄清楚。 这是我的Tkinter GUI的图片: 当用户单击“保存”时,我希望将“ Campaign”项作为数据库的名称,然后希望将“ Workers”项添加到名为(workers)的表中。 我认为问题是当我尝试使用for loop和c
1回复

如何使用tkinter Python创建搜索表单以从SQLITE3数据库进行搜索?

我想使用Tkinter创建一个搜索表单,用户可以在其中输入他们想要从SQLite3数据库中看到的名称。 名为New_Assignment的数据库包含有关人员的所有详细信息。 但是我对如何将Tkinter连接到数据库并使用名称进行搜索感到困惑? 到目前为止,这就是我所得到的。
1回复

python sqlite3 tkinter-如何为sqlite表中的每一行自动创建新的小部件?

我正在使用tkinter和sqlite3的项目。 在tk.Toplevel窗口中,我有一个框架。 在该框架内将是一个sqlite表中的列表行(取决于表中有多少行)。 对于框架中的每一行,都需要一个tk.Checkbutton,表中的一个值和两个tk.Entry。 这是一张(不好的
1回复

从tkinter输入框搜索记录时,如何从sqlite数据库返回记录(Python)

我正在使用tkinter作为gui,为使用数据库存储有关图书详细信息的图书馆程序。 该程序的一个特点是用户可以输入一本书的名称,它将搜索数据库并返回包含该名称的书籍的记录。 这是我目前具有此功能的代码: 我没有收到此代码的任何错误消息,但是,它只是在文本小部件中说<sqlite
1回复

Python,Sqlite-如何将存储的图像(作为Blob或base64字符串)放入tkinter标签上的sqlite DB中

我想这个问题可能会被指责为重复,但老实说,尽管我在这里和那里花了很长时间摸索,但还是找不到自己的路。 将图像以Blob的形式存储在Sqlite数据库中很简单,但是以适合我的预期用途的方式进行反向操作( 检索该图像以在标签上显示 )是不正确的。 有一个不接受GUID 在这里 ,我希望有人验
2回复

将sqlite3与Tkinter链接

作为我正在制作的库存系统的一部分,我希望Tkinter通过用户输入输入框并单击“添加库存”按钮来收集希望插入数据库的数据值。 我的问题是,我不确定如何将sqlite3与Tkinter代码结合使用。 以下是我的“添加库存”窗口的Tkinter代码 以下是我希望与Tkinter代