регистрация пользователя скриптом

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
subdigger
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца

регистрация пользователя скриптом

Сообщение subdigger »

собственно нашёл тему про авторизацию, но про регистрацию - нет.

суть вопроса вот в чём. основной сайт в кодировке win 1251 и собственно все добавленные юзеры (которые имеют в нике русские буквы) не могут залогиниться + а в админке нельзя выбрать оного юзера.

пробовал так:

Код: Выделить всё

<?
  $sql = 'select * from players where user = \'Дядя Вова\'';
  $qr = $dbh->query($sql);

  $pl = $qr->fetchAll();

  $uname =  iconv("cp1251", "UTF-8", $pl[0]['user']);
  $uname_c =  iconv("cp1251", "UTF-8", strtolower($pl[0]['user']));
  $pwd =  iconv("cp1251", "UTF-8", $pl[0]['pass']);

/*  $uname = $pl[0]['user'];
  $uname_c = strtolower($pl[0]['user']);
  $pwd = $pl[0]['pass'];*/
  echo  '--'.$uname .'==='.$pl[0]['user'].';<br>'.
        '--'.$uname_c .'==='.$pl[0]['user'].';<br>'.
        '--'.$pwd .'==='.$pl[0]['pass'].';';

  $sql = 'update phpbb_users set username =\''.$uname.'\', username_clean = \''.$uname_c.'\', user_password = \''.$pwd.'\' where user_id = 66';
  $dbh->exec($sql);
?>
яд не помог. может кто присоветует?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

Вы пытаетесь конвертировать имена пользователей в utf-8? Так не получится.
Нужно конвертировать имена, а очищенные имена получать из конвертированных функцией utf8_clean_string.
Изображение
subdigger
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца

Re: регистрация пользователя скриптом

Сообщение subdigger »

rxu писал(а):Вы пытаетесь конвертировать имена пользователей в utf-8? Так не получится.
Нужно конвертировать имена, а очищенные имена получать из конвертированных функцией utf8_clean_string.
я так понял, что мне нужно юзать utf_tools.php? этого будет достаточно?
пароль можно без изменений?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

subdigger писал(а):я так понял, что мне нужно юзать utf_tools.php? этого будет достаточно?
Должно быть достаточно.
subdigger писал(а):пароль можно без изменений?
Пароль в phpBB3 хэшируется своим скриптом, phpbb_hash в includesfunctions.php. Хэшировать тоже надо utf-8 строку.
Изображение
subdigger
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца

Re: регистрация пользователя скриптом

Сообщение subdigger »

допустим пароль пока оставим в стороне.
переделал таким образом

Код: Выделить всё

<?
   define('IN_PHPBB', true);
  $phpbb_root_path = dirname(__FILE__).'/forum/';
  $phpEx = 'php';
................
  $uname_c =  utf8_clean_string($pl[0]['user']);
....
?>
остальное без изменений
не помогло. тоесть $uname_c = пїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ.
врядли это то, что мне нужно.

в данный момент я просто хочу добится, чтоб в админке я смог выбрать пользователя для управления. он его не находит.
помогите плиз.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

subdigger писал(а):$uname_c =  utf8_clean_string($pl[0]['user']);
А $pl[0]['user'] перед этим конвертировали в utf-8?
Изображение
subdigger
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца

Re: регистрация пользователя скриптом

Сообщение subdigger »

поправил
--Дядя Р’РѕРІР°===Дядя Вова;
--РґСЏРґСЏ РІoРІa===Дядя Вова;
но всё равно этого юзера найти из админки нельзя...
есть идеи куда копать?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

subdigger писал(а):но всё равно этого юзера найти из админки нельзя...
А что вы видите в таблице пользователей по этому юзеру? В каком виде там содержатся эти поля?
Изображение
subdigger
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 4 месяца

Re: регистрация пользователя скриптом

Сообщение subdigger »

тут ещё такое. при просмотре через phpMyAdmin
юзера зарегистрированные нормальным путём отображаются четабильными
а вот этот, над которым я работаю так, как в предыдущем посте.

параметры phpMyAdmin:
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8-bin
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

Значит, отлаживайте скрипт так, чтобы вывод перед очисткой и занесением в базу был в utf-8.
Кстати, для регистрации простого добавления записи в таблицу пользователей недостаточно. См. функцию user_add в includes/functions_user.php.
Изображение
aideremir
phpBB 1.0.0
Сообщения: 1
Стаж: 17 лет 4 месяца

Re: регистрация пользователя скриптом

Сообщение aideremir »

Точь-в-точь такая же проблема

написал небольшую проверку и всячески её модифицирую ,но желаемого увидеть не могу:

Код: Выделить всё

//$_REQUEST['username'] = 'тест';

 $username = utf8_normalize_nfc($_REQUEST['username']);        
        echo utf8_clean_string($username);
        exit();
выдает:
пїЅпїЅпїЅпїЅ

если же добавляю конвертацию до очистки

Код: Выделить всё

$_REQUEST['username'] = iconv('cp1251','utf-8',$_REQUEST['username']);
то выдает:
С‚ecС‚

что тоже не похоже на то, что я вижу в phpmyadmin у юзеров, зарегенных штатным образом.
Подскажите в чем ещё может быть проблема?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: регистрация пользователя скриптом

Сообщение rxu »

aideremir
Написать скрипт за вас, что ли? :)
Как уже необнократно говорилось, скрипт регистрации выдергивайте из includes/ucp/ucp_register.php. Там есть всё необходимое.
Изображение

Вернуться в «Поддержка phpBB 3.0.х»