【发布时间】:2021-01-11 10:51:59
【问题描述】:
我是一名初级程序员,正在使用烧瓶和 SQLite3 修补登录系统。用户从 HTML 表单输入信息,然后该表单被放入名为 logins 的数据库表中。输入效果很好,可以将数据输入数据库,但是当我尝试从数据库中选择数据时,我可以用这个打印一个特定的值:
rows = c.execute("SELECT password FROM logins")
其中密码是数据库中的一列。那部分工作正常。但是,当我尝试将单个单元格放入 python 变量中时,例如下面的 userCheck,我的 if 逻辑在比较两个值时不起作用。如果用户名 userCheck 和密码 passCheck 相同,仍然不会为 True。
@app.route("/login", methods=["GET","POST"])
def login():
if request.method == "GET":
return render_template("login.html")
else:
username = request.form.get("username")
password = request.form.get("password")
userCheck = c.execute("SELECT password FROM logins WHERE username = (?)", (username,))
passCheck = c.execute("SELECT username FROM logins WHERE password = (?)", (password,))
if username == userCheck and password == passCheck:
return redirect("/")
else:
error = "Username and Password don't match"
return render_template("login.html", error=error)
我已经被困了一段时间,所以任何帮助都会很棒!
【问题讨论】: