python 3.6 용으로 죽은 간단한 로그인 및 등록 스크립트를 작성하려고합니다. 그러나, 나는이 버그를 없앨 수 없다. 내가 등록 할 때마다 오류가 없다. 그러나 내가 다시 실행하고 같은 사용자 이름을 사용할 때 이미 존재하는 메시지를 표시하지 않는다 ... 실제로 코드를 실행하지 않고 ... 너무 너무 내가SQLite 3/Python3.6 - 등록 및 로그인 스크립트 (sql 및 python 처음)
여기 코드입니다 (c.fetchall()
사용) 거기에 무엇을 볼 수있는 전체 DB 출력에 당신은 fetchall()
실행중인
import sqlite3 as sql, os
def dirCheck():
exDir=False
for count in os.listdir():
if count == 'sql':
exDir=True
if exDir == False:
os.mkdir('sql')
dirCheck()
cnct=sql.connect('./sql/usrAcc.db')
c=cnct.cursor()
def newTable():
c.execute('CREATE TABLE IF NOT EXISTS users(username TEXT, password TEXT)')
newTable()
f=False
t=True
valid=f
taken=f
def credsWrite(username, password):
c.execute('INSERT INTO users(username, password) VALUES (?, ?)',
(username, password))
cnct.commit()
for row in c.fetchall():
print(row)
c.close
cnct.close
def userReg():
global valid, taken
print(fancy[1])
while not valid:
print(fancy[3])
username=str(input('>> '))
for row in c.fetchall():
if str(username) == str(row[0]):
print('Sorry, but that username has already been taken...\nPlease enter another\n> ')
taken=True
if not taken:
print(fancy[4])
password=str(input('>> '))
valid=True
credsWrite(username,password)
fancy=["""
================
| SQL LOGIN TEST |
================
""","""
==========
| REGISTER |
==========
""","""
=======
| LOGIN |
=======
""","""
================
| ENTER USERNAME |
================
""","""
================
| ENTER PASSWORD |
================
"""]
def startUp():
print(fancy[0])
chosen=False
while not chosen:
opt=int(input('\n Please choose one of the options below:\n\n-> Register for a new account [1]\n-> Login to an existing account [2]\n\nPlease type a number...\n\n>> '))
if opt==1:
userReg()
chosen=True
elif opt==2:
login()
chosen=True
else:
print('\n\nPLEASE TYPE EITHER 1 OR 2...\n ')
if __name__ == "__main__":
startUp()