Recommended Posts

У меня в таблице user в поле мобильный телефон стоит галочка уникальное поле.

При добавлении пользователями одинаковых номеров, оно добавляет почему то.

В чем проблема может быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо копаться... 

  • может телефон у вас не сохраняется в базе,
  • может телефон указывается в разных форматах
  • может глюк/недоработка CMS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В данный момент галочка уникальности имеет информационный характер. Система ее игнорирует, навешивая уникальность на конкретные поля типа мыло или логин. Клиентский код естественно может воспринимать ее и применять какие-то действия, но система только видит ее и ничего не делает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ожидается , чтобы уникальность поля в системе заработала?

Т.к. много дублей появится при регистрации и возможно ли логин был бы и как номер телефона? 

Сейчас на многих сайтах вместо логина используют или емайл или номер телефона

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 04.09.2018 в 16:55, Realtor сказал:

Ожидается , чтобы уникальность поля в системе заработала?

Т.к. много дублей появится при регистрации и возможно ли логин был бы и как номер телефона? 

Сейчас на многих сайтах вместо логина используют или емайл или номер телефона

Так может проще на логин (уже для новых пользователей) навесить маску телефона? 

В редакторе форм - таблица User - строка Login, меняем параметр safe_string на mobilephone и прописываем в Параметры маску: mask = +7(hhh)hhh-hhhh

Новые пользователи ничего кроме своего номера телефона указать не смогут, со старыми - не уверен, надо проверять. Возможно прийдется прописать их номера телефонов вместо имеющихся буквенных логинов. Вроде как самостоятельно они логин не изменят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 10.09.2018 в 01:28, Chernetskiy сказал:

Так может проще на логин (уже для новых пользователей) навесить маску телефона? 

В редакторе форм - таблица User - строка Login, меняем параметр safe_string на mobilephone и прописываем в Параметры маску: mask = +7(hhh)hhh-hhhh

Новые пользователи ничего кроме своего номера телефона указать не смогут, со старыми - не уверен, надо проверять. Возможно прийдется прописать их номера телефонов вместо имеющихся буквенных логинов. Вроде как самостоятельно они логин не изменят.

А как насчёт email? Который вместо логина

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.09.2018 в 07:48, Realtor сказал:

А как насчёт email? Который вместо логина

Оставляем safe_string и дописываем правило, например такое:

rules=NotBlank,Type:string,Email,MinLength:7,MaxLength:35

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Chernetskiy сказал:

Оставляем safe_string и дописываем правило, например такое:

rules=NotBlank,Type:string,Email,MinLength:7,MaxLength:35

И будет работать? Если логинится или номером телефона или email.

Ничего не испортится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 13.09.2018 в 15:00, Realtor сказал:

И будет работать? Если логинится или номером телефона или email.

Ничего не испортится?

А проверить по пробовал?

На всякий случай, в Настройках - Общее есть функция Использовать email в качестве логина ?(email_as_login), установи 1 и пользуйся. :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Chernetskiy сказал:

А проверить по пробовал?

На всякий случай, в Настройках - Общее есть функция Использовать email в качестве логина ?(email_as_login), установи 1 и пользуйся. :) 

А кто нибудь до меня экспериментировал?

И будет ли подсказка в поле логин, что вводите емайлу или номер телефона?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Realtor сказал:

А кто нибудь до меня экспериментировал?

И будет ли подсказка в поле логин, что вводите емайлу или номер телефона?

Будешь ждать откликов от экспериментаторов (а их может и не быть) или сам проверишь? :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 17.09.2018 в 15:15, Realtor сказал:

А что скажет Дмитрий , по этому вопросу ?

Сделайте уникальный индекс прямо в базе через phpmyadmin.

Например, для поля email делаем его уникальным так:

create unique index email_idx on re_user(email);

Тогда mysql точно не пропустит дублей.

Но если у вас уже насорило дублями, то предварительно придется почистить от дублей вручную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, rumantic сказал:

Сделайте уникальный индекс прямо в базе через phpmyadmin.

Например, для поля email делаем его уникальным так:


create unique index email_idx on re_user(email);

Тогда mysql точно не пропустит дублей.

Но если у вас уже насорило дублями, то предварительно придется почистить от дублей вручную.

А если по полю email и по полю mobilephone?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.09.2018 в 19:12, Realtor сказал:

А если по полю email и по полю mobilephone?

create unique index mobilephone_idx on re_user(mobilephone);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Realtor
      В редакторе форм в таблице user  выставлены обязательные поля  и уникальные поля
      обязательные Группа, Логин,ФИО, Емайл, Мобильный телефон
      уникальные  Емайл, Мобильный телефон
      При регистрации нового юзера
      пропускает незаполненные поля Группа, ФИО, Мобильный телефон, хотя они обязательные
      и Мобильный телефон хотя он уникальный, пропускает на повторную регистрацию с этим же телфоном
      В чем может быть ошибка?