Сижу такой думаю надо регистрацию вывести под минимум полей 2к19 год почти, всякие юзернеймы придумывать кому оно надо во время реги в 2к19 году
Идея: Регистрация состоит из одного поля пользователь оставляет email, на email пользователь получает пароль, авторизация либо по ID либо по email, username задается для каждого юзера USER_{ID}
Но возникла проблема как реализовать "одноразовую смену USERNAME" т.е чтобы после смены USERNAME поле в настройках аккаунта уже невозможно было редактировать ?
можно ли дописать в регулярке проверку на пустоту строки чтобы убрать /// !empty($_POST['username']) && /// ?
Так убирайте - пустая строка не может совпадать ни с каким символом из вашего шаблона регулярного выражения.
Идет две проверки первая если поле пустое вылетает ошибка заполните поле.. во второй проверке идет уже если поле не пустое и не совпадает шаблону, можно !empty($_POST['username']) && реализовать на регулярке чтобы дописать в !preg_match() ?
Есть условие где проверяется если строка не пустая И не совпадают символы то вылетает ошибка, что хоте спросить, можно ли дописать в регулярке проверку на пустоту строки чтобы убрать /// !empty($_POST['username']) && /// ?
У меня такой вопрос если $matches не указан а просто разбить на группы данные же не будут сохранятся а просто будет по группам?
^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$
ты думаешь я буду читать целую книгу ради того чтобы написать чекер на мыло?
Я думал, что вы хотите научиться строить шаблоны под любые задачи.
Нет, я учу только то что мне нужно именно в данный момент над чекер на мыло адекватный пытаюсь разобраться /^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i что тут написано половины я понимаю нет экранирования и т.д т.п а вот с подмасками впервые столкнулся и хочу разобратся в их а может они тут не правильно стоят или правильно а может еще что то, ну короче чтобы довести до ума именно это выражение, а то я знаю школьничков выложат на своих сайтах код в котором половина оказывается не правильно или не нужна вообще это в лучшем случае.. взял код с гугла это уже 100% неправильно [-_.] над заменять на [_\-\.],если бы не был заинтересован просто поставил и могли уже начаться какие то проблемы (Добавление)
/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/I
сел немного почитал и подумал а не правильней его будет так записать
[a-z0-9]+[\-_\.]?[a-z0-9]+@
Этим самым я получу Ivan.Test@ c спец символом не в начале и не в конце но у меня другой вопрос как забить общую длину {1,64} до @ ?
Стандартные круглые скобки обычно выполняют две функции: группировку и сохранение. Они почти всегда включаются в выражения в виде (…), но в ряде диалектов используется запись \(…\). К их числу относятся диалекты GNU Emacs, sed, vi и grep.
Сохраняющие скобки идентифицируются по порядковому номеру открывающей скобки от левого края выражения, как показано на стр. 68, 70 и 85. Если в диалекте поддерживаются обратные ссылки, то на текст, совпавший с подвыражением в круглых скобках, можно ссылаться в том же регулярном выражении при помощи метасимволов \1, \2 и т. д.
Чаще всего круглые скобки применяются для извлечения данных из строки. Текст, совпавший с подвыражением в круглых скобках (для краткости – «текст, совпавший с круглыми скобками»), остается доступным после применения выражения.
Читайте книгу вдумчиво, и всё станет понятно.
ты думаешь я буду читать целую книгу ради того чтобы написать чекер на мыло?
Мне проще будет пару часов лишних погуглить да найти решение.. 2к18 год все сто раз уже обсуждалось я думаю
Ну это ведь уже не просто символ двоеточия - это последовательность символов. В данном контексте последовательность символов (?:...) является не сохраняющими скобками. Что бы понять, что это означает, прочтите мануал по ссылке из моего поста выше.
Начал учить PDO и немного растерялся в rowCount() и fetchColumn()
rowCount использовать для подсчета в запросах DELETE, INSERT или UPDATE ,а fetchColumn для SELECT только. Правильно я понял ?