Редактирование регистрации

запись в другую группу

#1 11 сентября 2010 в 01:52
Подскажите, пожалуйста, в каком файле указывается, в какую группу должен поместиться вновь зарегистрировавшийся юзер. Я создал дополнительные 4 группы: допустим 1,2,3 и 4. Вставил выпадающий список в форму регистрации. Смысл такой: пользователь выбирает при регистрации группу 3 и по завершении ее оказывается в группе 3. как ни старался, все равно он регистрируется в группе "Пользователи" (registered). заранее благодарен.
#2 11 сентября 2010 в 14:57
Регистрация пропизана здесь: components\registration\frontend.php

  1. if ($do=='register'){
  2.  
  3. ...........
  4. ...........
  5. ...........

Тет вместо запроса

  1. $sql = "INSERT INTO cms_users (login, nickname, password, email, icq, regdate, logdate, birthdate, is_locked)
  2. VALUES ('$login', '$nickname', '$pass', '$email', '$icq', NOW(), NOW(), '$birthdate', '$is_locked')";
Надо написать такой:

  1. $sql = "INSERT INTO cms_users (group_id, login, nickname, password, email, icq, regdate, logdate, birthdate, is_locked)
  2. VALUES ('$group_id', '$login', '$nickname', '$pass', '$email', '$icq', NOW(), NOW(), '$birthdate', '$is_locked')";

Предварительно определив значение переменной $group_id (это id группы, которую выбрали при регистрации)


Вот так вот. Дальше сам разберешся???
#3 12 сентября 2010 в 08:10
спасибо огромное.
#4 12 сентября 2010 в 15:27
а как?
#5 26 октября 2010 в 13:05
в файле cms.php прописал массив. в регистрации у меня появился выпадающий список. Подскажите, как правильно обозначить переменную group_id, чтобы пользователь попадал при регистрации в соответствующую группу, когда выбрал какой-нибудь пункт из списка.
#6 26 октября 2010 в 13:07
$html .= ’</select>’. "\n";

$group_ids = array();

$group_ids[’00’] = ’’;
$group_ids[’01’] = ’’;
$group_ids[’02’] = ’’;
$group_ids[’03’] = ’’;
$group_ids[’04’] = ’’;
$group_ids[’05’] = ’’;
$group_ids[’06’] = ’’;
$group_ids[’07’] = ’’;
$group_ids[’08’] = ’’;
$group_ids[’09’] = ’’;
$group_ids[’10’] = ’1 группа’;
$group_ids[’11’] = ’2 группа’;
$group_ids[’12’] = ’3 группа’;
$group_ids[’13’] = ’4 группа’;



$html .= ’<select name="’.$element.’[group_id]">’. "\n";
for($group_id=0; $group_id<14; $group_id++){
if ($group_id<10){ $group_id = ’0’.$group_id; }

if ((intval($group_id)+1)==intval($group_id_default)){
$html .= ’<option value="’.($group_id+1).’" selected="selected">’.$group_ids[$group_id].’</option>’. "\n";
} else {
$html .= ’<option value="’.($group_id+1).’">’.$group_ids[$group_id].’</option>’. "\n";
}
}
#7 26 октября 2010 в 13:08
это фрагмент массива. ОЧЕНЬ прошу, подскажите!!!
#8 26 октября 2010 в 13:54
а зачем все так сложно?
если вы точно знаете названия всех групп и их ID, то вставьте <select> прямо в шаблоне (com_registration.tpl):
  1.  
  2. <select name="group_id">
  3. <option id="10">Группа 1</option>
  4. <option id="11">Группа 2</option>
  5. <option id="12">Группа 3</option>
  6. </select>
  7.  
потом перед запросом, приведенным Александром получайте из формы значение $group_id:
  1.  
  2. $group_id = $inCore->request('group_id', 'int');
  3.  
ну и далее идет сам запрос который показал Александр
#9 10 ноября 2010 в 13:18
все равно не получается регистрация в указанной группе. Теперь регистрация происходит вообще без группы, даже не в группе "Пользователи"! Что только не пробовал…
#10 10 ноября 2010 в 20:39
1) В шаблоне в файле com_registration.tpl добавим строки:


  1. <tr>
  2. <td valign="top" class=""><strong>Группа:</strong></td>
  3. <td valign="top" class="">
  4. <select name="group_id">
  5. <option value="0">--- не выбрано ---</option>
  6. <option value="1">Пользователи</option>
  7. <option value="2">Администраторы</option>
  8. </select>
  9. </td>
  10. </tr>

2) В файле components\registration\frontend.php
  1. if ($do=='register'){ .... }
[/b]


Перед

  1. if($msg==''){
напиши:

  1. $group_id = $inCore->request('group_id', 'int');
  2. if(!$group_id) { $msg .= 'Выберите Группу!!!'; }

Чуть ниже...
Удаляешь строки:

  1. $sql = "INSERT INTO cms_users (login, nickname, password, email, icq, regdate, logdate, birthdate, is_locked)
  2. VALUES ('$login', '$nickname', '$pass', '$email', '$icq', NOW(), NOW(), '$birthdate', '$is_locked')";
  3.  

и вместо них добавь такие:


  1. $sql = "INSERT INTO cms_users (group_id, login, nickname, password, email, icq, regdate, logdate, birthdate, is_locked)
  2. VALUES ('$group_id', '$login', '$nickname', '$pass', '$email', '$icq', NOW(), NOW(), '$birthdate', '$is_locked')";


Неповеришь, но у меня работает!
#11 10 ноября 2010 в 20:54
GlavBuhТолько Вы определитесь с Группами пользователей заранее, а то представьте себе на минутку, что все пользователи АДМИНИСТРАТОРЫ, и далее такое начнётся, каждый в Админку будет лезьть… scratch
#12 10 ноября 2010 в 21:01

Админку будет лезьть


Нет, ну понятно. Эт я просто для примера...
Само-собой свои группы надо задать по шаблону:

  1. <option value="id группы">Название групы</option>
#13 11 ноября 2010 в 00:08

Неповеришь, но у меня работает!

Александр
ОГРОМНЕЙШЕЕ СПАСИБО! Заработало. глазам не могу поверить. Я, как Вы уже поняли, начинающий юзер. так что — то кусками знаю, а полноценно еще не могу программировать. Еще раз спасибо. Извините за отнятое время!
#14 25 ноября 2010 в 13:07
А если еще нужно, чтобы пользователь автоматом попадал в определенный клуб. как это реализовать?
#15 1 декабря 2010 в 18:43

В чем может быть ошибка?


Думается в том, что на меню и прочее стоят права доступа не те.
Например в модуле Меню в настройках есть вкладка ДОСТУП. Начни с нее…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.