Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Разделить пользователей

31.01.2013, 08:27
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

Есть два сайта на одной копии. Сайты абсолютно разные. На обоих есть регистрация и списки пользователей.

В качестве логина в системе используется почта. Беда в том, что система не даёт зарегистрировать пользователя на разных сайтах с одной почтой, пишет, что «Логин *** занят другим пользователем».

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

Подскажите, пожалуйста, как можно решить вопрос?

orlovkn
31.01.2013, 13:10
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Это получается, что на 2 сайта 1 таблица User?

Stark
31.01.2013, 18:05
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

Можно хоть 10 сайтов сделать на одной копии, а таблица User будет одна для всех сайтов.

У меня такая ситуация, что пользователь, который уже зарегистрирован на первом сайте не может зарегистрироваться на втором с той же почтой.

orlovkn
31.01.2013, 19:12
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Ну, так может проверку сделать не только на мэйл, но и еще и на ID сайта?
Поможет ли?

Stark
31.01.2013, 20:58
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

В условии стоит проверка на почту и на ID сайта. Ошибка вылазит откуда-то из системы, потому что сообщение звучит как «Логин занят блаблабла». Завтра исходники почитаю.

orlovkn
01.02.2013, 00:10
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Проще на отдельную копию второй сайт перенести =)

По сути.
Для начала вам следует понять на каком уровне стоит ограничение. Если посмотреть таблицу User, то там только одно поле является уникальным - User_ID - это primary key. Остальные поля могут дублироваться. Соотв-но ограничение возникает на стороне клиента, т.е. php.

Далее вам надо найти в каком именно скрипте идет такая проверка - тут просто тупо поиском по всем файлам движка на текст ошибки (тексты ошибки в файлах lang - там найдете константу ошибки и далее найдете реальный файл). А там уже сами смотрите - будете корреткировать это ограничение или нет (совсеми вытекающими проблемами при обновлении движка).

По идее можете добавить в таблицу User поле Catalogue_ID и ИД сайта и проводить проверку с учетом этого поля. Только учтите, что админ должен заходить в админку с любого домена со всеми нюансами в реализации вашей хотелки.

Temet nosce...
01.02.2013, 07:11
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

Цитата:
Проще на отдельную копию второй сайт перенести =)

Вопрос лицензии. Понятно, что так бы я избежал многих проблем.

Цитата:
Далее вам надо найти в каком именно скрипте идет такая проверка - тут просто тупо поиском по всем файлам движка на т

Спасибо — это и хотел сделать, просто уверен, что это в исходниках системы зашито, если поменяю сейчас что-то — патч всё убъёт, поэтому не совсем вариант.

Цитата:
По идее можете добавить в таблицу User поле Catalogue_ID

Catalogue_ID есть, указывается при регистрации корректно. В условии добавления стоит проверка:

Код:
if ($db->get_var("SELECT User_ID FROM User WHERE Email = '$f_Email' AND Catalogue_ID=".$catalogue)) {
$warnText = "Пользователь с таким e-mail адресом уже зарегистрирован.";
$posting = 0;
}


Цитата:
Только учтите, что админ должен заходить в админку с любого домена со всеми нюансами в реализации вашей хотелки.

Если у юзера прописать Catalogue_ID равным нулю, он может заходить на любой сайт. Так я сделал у админа, поэтому здесь проблемы нет.

orlovkn
198 196 2013-02-01 07:11:28 12885
Описание проекта