Столкнулся с проблемой:
На сайте в форме регистрации есть поле, в которое нужно ввести email (например: exemple@gmail.com) или имя пользователя (например: user_name1).
Вопрос: как в php файле оброботчике формы узнать что именно пришло в переменной $_POST['login']
- email пользователя или его username?
Самый простой вариант — действительно, сделать запрос который будет искать по обоим значениям. Не знаю, какой query-builder у вас используется (и используется ли).
Как чисты sql это выглядит следующим образом:
SELECT * FROM users WHERE (username = '{login}' OR email='{login}') AND 'password' = '{password_hash}'
В большинстве штатных случаев этого варианта будет более чем достаточно.
Самая сложное в этом запросе при использовании конкретного query-builder - это найти, каким образом группировать условия в скобки
Проверить регулярным выражением. Например так:
if (preg_match("/^[a-z0-9\.]+@[a-z0-9]+\.[a-z0-9]+$/i", $_POST['login']) == 1) {
//email
} else {
//username
}
Если же требуется проверка E-Mail адресов потенциально содержащих символы алфавита отличного от английского, то можно воспользоваться способом о котором писал выше Visman
.
if (strpos($_POST['email'], "@") != false) {
//email
} else {
//username
}
Но данный способ не гарантирует того что вам прислали именно E-Mail адрес.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеСкажите, вот добавляю теги Opengraph к главной странице сайта index
ЗдравствуйтеПодскажите, как мне пронумеровать в smarty(v2) класс каждой в зависимости от количества элементов ?
Есть числовые значения рейтинга от 0 до 10Числа рейтинга имеют одно число после точки, то есть могут быть числа 4