Форум сайта python.su
Доброго времени суток! Подскажите пожалуйста! Учу код и решил написать регистрацию но столкнулся с такой проблемой что когда регистрируешь пользователя с русским логином то Николай и николай при разном регистре будут разными пользователями вот код проверки.
c.execute(“SELECT name FROM user WHERE UPPER(name) LIKE :name”, {“name”:name})
conn.commit()
r = c.fetchone()
elif r != None:
print('Логин существует!')
reg()
Если с латинскими буквами работать то всё норм. Как запретить ввод кириллицы или убрать привязку к регистру? Я туп пока в программировании) Так что простите за возможно не правильно поставленный вопрос
)
Офлайн
KOMnВаш софт будет удобен и востребован если он ведет себя так как принято в сообществе.
Если с латинскими буквами работать то всё норм.
Офлайн
Точнее да мне как раз и нужен регистр. Чтобы не давал в конечном итоге регистрировать пользователя с одинаковым именем когда применяется разный регистр.
Отредактировано KOMn (Июнь 21, 2018 09:03:23)
Офлайн
Тоесть я так понял Upper мне нужно добавить сюда?
c = conn.cursor()
c.execute(“INSERT INTO user (name, password) VALUES ('%s','%s')”%(username,userpassword))
conn.commit()
print('Вы успешно зарегестрировались!')
Отредактировано KOMn (Июнь 21, 2018 09:08:34)
Офлайн
Я так понял что можно UPPER вообще не использовать для проверки на наличие имени в базе. Но с кириллицей не работает. Как же всё-таки запретить ввод кириллицы в форму?
Офлайн
KOMnпроверить на наличие кириллицы
Как же всё-таки запретить ввод кириллицы в форму
Офлайн
А пример кода можно?
Я примерно представляю но не уверен
Отредактировано KOMn (Июнь 21, 2018 10:41:53)
Офлайн
Всё получилось Спасибо за подсказку
import re
pattern=re.sub(r'^+', ‘', name)
string=str(name)
result=re.findall(pattern, string)
if name in result:
print(’Логин не может содержать русские буквы!')
reg()
Вот ещё осталось символы добавить)
Отредактировано KOMn (Июнь 21, 2018 12:46:17)
Офлайн
KOMn кажеться вы подходите не стой стороны. А если там будет не кирилица а какиенить китайские иероглифы, греческий, арабский или спецсимволы? Вы бы лучше проверяли на вхождение на латиницу и разрешенные сиволы(цифры точка, нижнее подчеркивание, хз что еще), если там есть еще чтото то отлуп.
[code python][/code]
Офлайн