0
0 комментариев

Доброго времени суток. Подскажите как выполнить проверку. У меня есть форма с регистрацией (на видео видно), в своём скрипте я считываю значение полей TextInput (id: name, name_pwd, name_pwd2) и если совпадают (name_pwd и name_pwd2) записываю в базу.
А как мне в kv файле узнать что запись произошла и вывести соответствующее окно с поздравлением с успешной регистрацией или окно с сообщением, что пароли были введены разные при регистрации?

Screen: #регистрация
    name: 'sc3'
    GridLayout:
        cols: 2
        rows: 4
        Label:
            text: 'логин'
        TextInput:
            id: name
        Label:
            text: 'пароль'
        TextInput:
            id: name_pwd
        Label:
            text: 'пароль ещё раз'
        TextInput:
            id: name_pwd2
        Button:
            id: back2
            text: 'Назад'
            on_release:sm.current='sc1'
        Button:
            id: reg1
            text: 'Зарегистрироваться'
            on_release: root.reg()

а вот сама функция где сравниваю введённое:

class Root(BoxLayout):
    def reg(self):
        conn = db.connect('main.db')
        conn.text_factory = str
        c = conn.cursor()
        c.execute('PRAGMA encoding="UTF-8";')
        c.execute('''CREATE TABLE IF NOT EXISTS user
            (login text, password text) ''')
        c.execute('''CREATE TABLE IF NOT EXISTS service
            (username text, service_name text, service_login text, service_pwd text)''')
        var1 = self.ids.name
        c.execute("SELECT COUNT(login) FROM user WHERE user.login=?", (var1.text,))
        user = c.fetchone()
        if user[0] != 1:
            if self.ids.name_pwd.text == self.ids.name_pwd2.text:
                hash_pwd = hashlib.sha224((self.ids.name_pwd.text).encode('utf-8')).hexdigest()
                c.execute("INSERT INTO user(login, password) VALUES (?, ?)", (var1.text, hash_pwd,))
                conn.commit()
            else:
                self.ids.err

а вот видюха с каркасом:

myapp


Добавить комментарий