2012-06-21 3 views
1

Я создал компонент joomla, где мы можем загрузить файл csv, который содержит имя пользователя и адрес электронной почты многих пользователей. Я написал запрос для вставки данных в таблицу jos_users. Пароль в автогенерации и я зашифровал пароль с помощью $ crypt = JUserHelper :: getCryptedPassword («blabla», $ salt); Я ничего не добавил в поле активации. Но по каким-то причинам я не могу войти в систему, используя имя пользователя и пароль. Должен ли я сделать что-нибудь еще для этого?Добавление нескольких пользователей за раз в joomla

+0

проверить таблицу базы данных для пользователей и посмотреть, нет ли какой-либо разницы в формате ваших созданных пользователей от компонента и пользователя, созданного с помощью User Manager. – Lodder

ответ

3

Спасибо Брент за ваше время. Я нашел ответ и объясняется ниже.

Для создания новых учетных записей пользователей по сценарию необходимо выполнить три запроса. 1) вставки в jos_users (id, name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate) значения (NULL, 'имя', 'имя пользователя', 'электронная почта', 'пароль', 'Registered', '0', '0', '18', 'дата', 'date2')

2) вставки в jos_core_acl_aro (id, section_value, value, name) значения (NULL, 'пользователи' , '(вставить вышеуказанный запрос)', 'name')

3) вставки в jos_core_acl_groups_aro_map (group_id, section_value, aro_id) значения (18, '', '(insertid вышеуказанного запроса)')

Это работает для меня.

0

Для того, чтобы пользователь мог войти в систему -

  1. поле активации должно быть пустым
  2. пользователь должен быть включен
  3. пользователь должен быть членом группы
+0

Я использую Joomla 1.5. Как вы сказали, я активировал активацию поле пустого поля и 0 вводится в поле блока. Теперь что должно быть значением, введенным в поле gid? Я немного смущен этим. –

+0

Я использовал это для gid $ authorize = & JFactory :: getACL(); $ usersConfig = & JComponentHelper :: getParams ('com_users'); $ newUsertype = $ usersConfig-> get ('new_usertype'); $ gid = $ authorize-> get_group_id ('', $ newUsertype, 'ARO'); и теперь, пытаясь войти в систему, я получаю сообщение об ошибке «E_NOLOGIN_ACCESS» , почему это так? может кто-нибудь мне помочь! –

+0

@nidhin около 0,5% моих зарегистрированных пользователей joomla получают глупую ошибку E_NOLOGIN_ACCESS, поэтому около 1 из каждых 200 пользователей, я не знаю, как исправить, поэтому я знаю ее ошибку в Joomla где-то. – hamish