0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1930 Просмотров
*

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
Joomla 1.5.14

Требуется создать 200 новых пользователей по списку из файла excel (c логинами и паролями, что важно, пароль сгенерён экселем и потом используется из этого файла для распечаток купонов).

Делаю через импорт в PHPmyAdmin SQL-файла такой структуры:

INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( 'Уважаемый участник форума', 'nick', md5('nick_password'), 'ivanov@mail.ru', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

Всё отлично, пользователь создаётся, видится в админке...
Но его не пускает авторизация ("логин-пароль не совпадают"), а ещё через пару минут ОН ПРОСТО ПРОПАДАЕТ В БАЗЕ!

Успел заметить, что хеш пароля вроде бы короче, чем у созданных вручную юзеров.
Что не так? Как лечить? Как мне 200 юзеров создать?
Есть ещё какие способы облегчить этот процесс?
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
а ещё через пару минут ОН ПРОСТО ПРОПАДАЕТ В БАЗЕ!
что значит "пропадает", сама по себе удаляется? мистика прямо :)
Успел заметить, что хеш пароля вроде бы короче, чем у созданных вручную юзеров.
там соль добавляется еще.
*

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
что значит "пропадает", сама по себе удаляется? мистика прямо :)там соль добавляется еще.
Да, именно так - автоматически удаляются записи в таблицах!
(Я вроде на блондинку не похож;)
*

Scarabey2001

  • Новичок
  • 3
  • 1 / 0
Всем спасибо за оперативные и исчерпывающие советы по существу :laugh: :D

Вскрытие показало, что виной всему был компонент Open Source Joomla Membership Control, который убивал в зародыше всех вновь создаваемых без его ведома пользователей! :laugh: crazy!

Убил, пока не разобравшись 8)

А задачу решил так:

Групповое добавление пользователей

Создаём таблицу в Calc (или Excel) с полями:
nick - префикс имени серийного пользователя
num - нумератор, автозаполняем поле инкрементом
nick_password - пароль, например, случайное число умножить на миллион и округлить до 6 знаков. Сохранить значение.
name - серийное обращение, например: "Уважаемый участник форума"
mail - серийная липовая почта (ибо нужна только для регистрации, активация происходит при загрузке), например forum@mail.ru

Далее нужно создать SQL-конструкцию следующего вида необходимое количество раз:

INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( 'name', 'nick+num', md5('nick_password'), 'mail', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

Где nick+num - это полное имя пользователя, полученное слиянием соответствующих полей.

Делается так. На новом листе файла Calc создать ячейку с формулой (жирным отмечены ссылки на описанные выше поля):

=CONCATENATE("INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid`)
VALUES( '";name;"', '";nick;num;"', md5('";nick_password;"'), '";mail;"', 'Registered', 18);

INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );

INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() ); ")

Протягиваем формулу на нужное количество строк, соответствующее необходимому числу новых пользователей. Далее выделяем весь лист (Ctrl+A), копируем и вставляем выделенный текст в любой текстовый редактор, сохраняем с расширением sql. Если редактор позволяет, предварительно (в пустом файле) выставляем кодировку utf8.
Далее открываем в phpMyAdmin нужную базу данных и на закладке "Импорт" загружаем наш sql-файл. Если заранее не удалось выставить правильную кодировку, указываем здесь cp1251.
Всё, после нажатия кнопки ОК имеем нужное количество новых активированных пользователей в базе.
*

slavajan3

  • Новичок
  • 4
  • 0 / 0
Не могу добавить несколько пользователей сразу, подскажите подробнее КАК?
INSERT INTO jos_users( `name`, `username`, `password`, `email`, `usertype`, `gid` )
VALUES( 'Иванов Иван', 'ivanov', md5('12345'), 'ivanov@mail.ru', 'Registered', 18 );
 
INSERT INTO jos_core_acl_aro( `section_value`, `value` )
VALUES ( 'users', LAST_INSERT_ID() );
 
INSERT INTO jos_core_acl_groups_aro_map( `group_id`, `aro_id` )
VALUES ( 18, LAST_INSERT_ID() );

так добавляестя один, а как 10, 20, 1000?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не запускается сайт через localhost

Автор renault

Ответов: 45
Просмотров: 25840
Последний ответ 03.03.2016, 19:00:44
от SeBun
НЕ получается сделать импорт свойств и особенностей через CSV improved

Автор Пономарев Дмитрий

Ответов: 0
Просмотров: 675
Последний ответ 13.11.2015, 11:25:37
от Пономарев Дмитрий
Перестали грузиться картинки через CSV import

Автор Пономарев Дмитрий

Ответов: 0
Просмотров: 562
Последний ответ 09.11.2015, 13:35:38
от Пономарев Дмитрий
Joomla 1.5 Нужна помощь с phpMyAdmin

Автор azim

Ответов: 0
Просмотров: 690
Последний ответ 08.09.2015, 12:28:44
от azim
Как скрыть модуль зарегистрированных пользователей Joomla 1.5.26 ?

Автор ShcherbaVv

Ответов: 0
Просмотров: 718
Последний ответ 05.04.2015, 19:42:08
от ShcherbaVv