Я новичок.
Я пишу скрипт cgi python3, который позволит пользователю входить на веб-страницу и просматривать информацию базы данных.Имя пользователя и пароль пользователя также хранятся в этой базе данных.
Мой текущий сценарий успешно завершает работу сценария, если введенный пароль не совпадает с паролем имени пользователя в базе данных, но он не завершается, когда имя пользователя не существует,(строка [1] содержит имена пользователей, строка [2] содержит пароли)
Почему скрипт проверяет, есть ли совпадение пароля, но нет совпадения имени пользователя?Какой командный скрипт я бы хотел использовать для проверки соответствия имени пользователя?
#!/usr/bin/python3
import cgi
import cgitb
cgitb.enable()
# HTML Content - BEGIN
print("<h1>User Login</h1>")
data = cgi.FieldStorage()
username= data['username'].value
password= data['password'].value
#prints form data submission
print("username= " + username)
print(" password= " + password)
#Import Database
import sqlite3
conn = sqlite3.connect('/directory/path/database.db')
c = conn.cursor()
# ***WORK IN PROGRESS***
for row in c.execute(f"SELECT * FROM Table WHERE username = '{username}'"):
if row[1] != username:
print("ERROR! No Username!")
sys.exit()
if row[2] != password:
print("ERROR! Wrong password!")
sys.exit()
#***WORK IN PROGRESS***
#Display personal information
print ("<h1>personal information</h1>")
#HTML CONTENT - END
Спасибо.