cuprumvsargetium
@cuprumvsargetium
228

Что не так в коде?

При вводе хоть чего в логин и пароль всё время пишет "вход выполнен", что не так?

import sqlite3

#CLASS SQL
class sql_wrapper:
    def __init__(self):
        self.connection = sqlite3.connect('data_base.sqlite')
        self.cursor = self.connection.cursor()

    def select(self, sql):
        return self.cursor.execute(sql)

    def execute(self, sql):
        self.cursor.execute(sql)
        self.connection.commit()
    
    def close(self):
        self.connection.close()

#ПЕРЕМЕННЫЕ
perehod = 0
regi = 1
name_login = ''
passwd_login = ''
a = 0
cmd1 = []
k = 1
sw = sql_wrapper()   

#ФУНКЦИИ
#ПОМОЩЬ. КОМАНДЫ.
def help():
	global cmd1
	cmd1 = ['Вывести','Список','Удалить','Добавить','help','exit']
	print('|Выводит одного человека: ' + cmd1[0] + ' |Выводит весь список: ' + cmd1[1] + ' |Удаление человека: ' + cmd1[2] + '\n|Добавление человека: ' + cmd1[3] + ' |Список команд: ' + cmd1[4] + ' |Выход: ' + cmd1[5])

#ВЫХОД
def close():
	print('Пока')
	exit()

#РЕГИСТРАЦИЯ
def reg():
	name = input('Ваш логин: ')
	passwd = input('Ваш пароль: ')
	sw.execute("INSERT INTO user (name, password) VALUES ('%s','%s');"%(name,passwd))
	sw.execute("CREATE TABLE " + name + " ( 'id'	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,'name'	TEXT NOT NULL,'num'	TEXT NOT NULL);")
	print('РЕГИСТРАЦИЯ ПРОШЛА УСПЕШНА!')
	print('Войдите в систему')
	global regi
	regi = 2

#ВХОД
def enter():
	global name_login
	global passwd_login
	name_login = input('Введите имя: ')
	passwd_login = input('Введите пароль: ')
	login = sw.select("SELECT name, password FROM user WHERE (name, password) = ('%s', '%s');"%(name_login, passwd_login))
	print(login)
	if login == None:
		print('Не верный логин или пароль')
		exit(0)
	else:
		print('Вход выполнен')		
		global perehod
		perehod = 1

#ДОБАВЛЕНИЕ В СПИСОК
def pluss():
	plus_name = input('Имя: ')
	plus_num = input('Номер: ')
	sw.execute("INSERT INTO " + name_login + " (name, num) VALUES ('%s', '%s');"%(plus_name,plus_num))
	print('Успешно добавлено!')

#УДАЛЕНИЕ ЧЕЛОВЕКА ИЗ СПИСКА
def minus():
	cmd_v = sw.select("SELECT name FROM " + name_login)
	for cmd_v in cmd_v:
		print(" Имя: "+cmd_v[0])
	minus_name = input('Кого: ')
	sw.execute("DELETE FROM " + name_login + " WHERE (name) = ('%s');"%(minus_name))
	print('Удаление прошло успешно!')

#ВЫВОД ОДНОГО ЧЕЛОВЕКА
def people():
	cmd_v = sw.select("SELECT name FROM " + name_login)
	for cmd_v in cmd_v:
		print(" Имя: "+cmd_v[0])
	cmd_name = input('Кого: ')
	p = sw.select("SELECT name FROM " + name_login + " WHERE (name) = ('%s');"%(cmd_name))
	if p == None:
		print('Нет такого человека в списке!')
	else:
		pe = sw.select("SELECT name, num FROM " + name_login + " WHERE (name) = ('%s');"%(cmd_name))
		for pe in pe:
			print('Имя: ' + pe[0] + ' | Номер: ' + pe[1])

#ВЫВОД ВСЕГО СПИСКА
def listt():
	lis =  sw.select("SELECT name, num FROM " + name_login)
	for lis in lis:
		print(" Имя: "+lis[0]+" | Номер: "+lis[1])

#МЕНЮ ВХОДА/РЕГИСТРАЦИИ
commands = {
    'РЕГИСТРАЦИЯ': reg, 'ВХОД': enter
}

user_input = input('ВХОД/РЕГИСТРАЦИЯ: ')#.lower()
if commands.get(user_input, None) is not None:
	commands[user_input]()
	if regi == 2:
		name_login = input('Введите имя: ')
		passwd_login = input('Введите пароль: ')
		login = sw.select("SELECT name, password FROM user WHERE (name, password) = ('%s', '%s');"%(name_login, passwd_login))
		if login == None:
			print('Не верный логин или пароль')
			exit()
		else:
			print('Вход выполнен')
			perehod = 1	

#ТИПА Л.К ПОЛЬЗОВАТЕЛЯ
if perehod == 1:
	print('TelephoneBook v. Beta 0.4')
	while k > 0:
		cmd = {
			'Добавить':pluss,
			'Удалить':minus,
			'Вывести':people,
			'Список':listt,
			'help': help,
			'exit':close
		}

		user_cmd = input('Введите команду: ')

		if cmd.get(user_cmd, None) is not None:
			cmd[user_cmd]()
		else:
			print('Команда не найдена')
			print('Введите help для просмотра команд')

#####################################################

print('Ничего не выбрано, или не правильная команда')
print('Пока!')

#####################################################
sw.close()
exit()
  • Вопрос задан
  • 430 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час