Пропустить

Регистрация.Добавление пользователей прямо в БД

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 12:26

Форум прикручивал к сайту написанному на перле, у которого была своя база, объединение баз и таблиц проблематично. Пытаюсь реализовать регистрацию сразу в 2 базы(форума и сайта). Подскажите какие поля в phpbb_users являются обязательными для заполнения, а какие можно оставить по умолчанию. Если могете киньте ссылку на страничку где описываются для чего нужны те или иные поля.

PS вообще я это реализовал, но возникла проблема при авторизации пользователей с русским логином(мб и пассом), подробнее: если регаться напрямую через форум на русском языке(логин), то он под этим логином заходит нормально, а если на русском логинится через сайт, то на форум зайти не может(неверное имя пользователя), хотя в таблицу добавляется и отображается там норм. С англоязычными логинами проблем нет. Кодировка полей утф8.

Подскажите если кто сталкивался с подобным. очень нужно срочно. Заранее благодарю всех отclickнувшихся)))

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение nissin » 12.11.2009 12:55

username_clean правильно заполняете?
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 13:02

strtolower(trim($name))

Добавлено спустя 6 минут 25 секунд:
при заносе логина в БД я не использую ни какого фреймворка, заношу напрямую, мб дело в 'username' => utf8_normalize_nfc(request_var('username', '', true)) чем нибудь таком???

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение FladeX » 12.11.2009 13:12

Посмотрите мои наработки - post225198.html
Только я основным делал форум, а в таблицу сайта просто дублировал пользователей.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
FladeX
Former team member
 
Сообщения: 2079
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск
Благодарил (а): 6 раз.
Поблагодарили: 53 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 13:28

спасибо, но это к сожалению не потайтет (((

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение MAzZY » 12.11.2009 13:32

Попробуйте здесь посмотреть, может найдете что-то ценное
http://wiki.phpbbguru.net/index.php/Phpbb_users
Аватара пользователя
MAzZY
Former team member
 
Сообщения: 2952
Зарегистрирован: 14.05.2005 23:43
Благодарил (а): 61 раз.
Поблагодарили: 54 раз.
Предупреждения: 1

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 13:39

спасиб mazzy я этот пост видел, там просто список полей таблицы. и документацию по пхпбб3.0 я тож смотрел. там инфа по администрированию форума, а мне бы техническую, с кодом связанную...

Добавлено спустя 12 минут 7 секунд:
и еще, изза чего может быть что для одних пользователей, при авторизации, выводит список форумов, а для других пишет "На этом сайте нет форумов."???

Добавлено спустя 1 час 10 минут 48 секунд:
прописывается ли где еще информация о зарегистрированом пользователе, кроме как phpbb_users?????
:cry: :cry: :cry:
и по какой причине может выводиться надпись для некоторых пользователей "На этом сайте нет форумов.", когда они для других есть. в бд пользователи почти ничем не отличаются.
такой пользователь из бд:

user_id	user_type	group_id	user_permissions	user_perm_from	user_ip	user_regdate	username	username_clean	user_password	user_passchg	user_pass_convert	user_email	user_email_hash	user_birthday	user_lastvisit	user_lastmark	user_lastpost_time	user_lastpage	user_last_confirm_key	user_last_search	user_warnings	user_last_warning	user_login_attempts	user_inactive_reason	user_inactive_time	user_posts	user_lang	user_timezone	user_dst	user_dateformat	user_style	user_rank	user_colour	user_new_privmsg	user_unread_privmsg	user_last_privmsg	user_message_rules	user_full_folder	user_emailtime	user_topic_show_days	user_topic_sortby_type	user_topic_sortby_dir	user_post_show_days	user_post_sortby_type	user_post_sortby_dir	user_notify	user_notify_pm	user_notify_type	user_allow_pm	user_allow_viewonline	user_allow_viewemail	user_allow_massemail	user_options	user_avatar	user_avatar_type	user_avatar_width	user_avatar_height	user_sig	user_sig_bbcode_uid	user_sig_bbcode_bitfield	user_from	user_icq	user_aim	user_yim	user_msnm	user_jabber	user_website	user_occ	user_interests	user_actkey	user_newpasswd	user_form_salt	college_id
548	0	2		0	127.0.0.1	0	tester	tester	111111	0	0	mailabc@mail.ru	39597264115	""	0	0	0	""	""	0	0	0	0	0	0	0	ru	0	0	d M Y H:i	1	0	""	0	0	0	0	-3	0	0	t	d	0	t	a	0	1	0	1	1	1	1	895	""	0	0	0		""	""	""	""	""	""	""	""	""			""	""	e6520d9fc532ba27	909



а вот этому пользователю во время авторизации говорит что логин введен не верно:
user_id	user_type	group_id	user_permissions	user_perm_from	user_ip	user_regdate	username	username_clean	user_password	user_passchg	user_pass_convert	user_email	user_email_hash	user_birthday	user_lastvisit	user_lastmark	user_lastpost_time	user_lastpage	user_last_confirm_key	user_last_search	user_warnings	user_last_warning	user_login_attempts	user_inactive_reason	user_inactive_time	user_posts	user_lang	user_timezone	user_dst	user_dateformat	user_style	user_rank	user_colour	user_new_privmsg	user_unread_privmsg	user_last_privmsg	user_message_rules	user_full_folder	user_emailtime	user_topic_show_days	user_topic_sortby_type	user_topic_sortby_dir	user_post_show_days	user_post_sortby_type	user_post_sortby_dir	user_notify	user_notify_pm	user_notify_type	user_allow_pm	user_allow_viewonline	user_allow_viewemail	user_allow_massemail	user_options	user_avatar	user_avatar_type	user_avatar_width	user_avatar_height	user_sig	user_sig_bbcode_uid	user_sig_bbcode_bitfield	user_from	user_icq	user_aim	user_yim	user_msnm	user_jabber	user_website	user_occ	user_interests	user_actkey	user_newpasswd	user_form_salt	college_id
545	0	2	""	0	127.0.0.1	0	тест12	тест12	111111	0	0	mail12@mail.ru	-115701816914	""	0	0	0	""	""	0	0	0	0	0	0	0	ru	0	0	d M Y H:i	0	0	""	0	0	0	0	-3	0	0	t	d	0	t	a	0	1	0	1	1	1	1	895	""	0	0	0	""	""	""	""	""	""	""	""	""	""			""	""	851a32033625edc6	907

Добавлено спустя 10 минут 22 секунды:
последнее поле добавил для синхронизации пользователей с 2 бд, для форума оно роли не играет
Последний раз редактировалось aragnom 13.11.2009 8:47, всего редактировалось 1 раз.

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение nissin » 12.11.2009 15:18

aragnom
strtolower(trim($name))

Вы хотя бы в исходники заглянули что-ли:
includes/function_user.php
	$username_clean = utf8_clean_string($user_row['username']);

includes/utf/utf_tools.php
/**
* This function is used to generate a "clean" version of a string.
* Clean means that it is a case insensitive form (case folding) and that it is normalized (NFC).
* Additionally a homographs of one character are transformed into one specific character (preferably ASCII
* if it is an ASCII character).
*
* Please be aware that if you change something within this function or within
* functions used here you need to rebuild/update the username_clean column in the users table. And all other
* columns that store a clean string otherwise you will break this functionality.
*
* @param	string	$text	An unclean string, mabye user input (has to be valid UTF-8!)
* @return	string			Cleaned up version of the input string
*/
function utf8_clean_string($text)
{
	global $phpbb_root_path, $phpEx;

	static $homographs = array();
	if (empty($homographs))
	{
		$homographs = include($phpbb_root_path . 'includes/utf/data/confusables.' . $phpEx);
	}

	$text = utf8_case_fold_nfkc($text);
	$text = strtr($text, $homographs);
	// Other control characters
	$text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text);

	// we need to reduce multiple spaces to a single one
	$text = preg_replace('# {2,}#', ' ', $text);

	// we can use trim here as all the other space characters should have been turned
	// into normal ASCII spaces by now
	return trim($text);
}
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 15:27

не могу понять для чего нужны поля
user_permissions
user_passchg
user_lastmark
а так же где используется
username_clean
user_mail_hash

вообще было бы ништяк тех документацию почитать

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение DK7 » 12.11.2009 15:45

пользуйтесь пожалуйста тегом [code] сообщения что выше. Спасибо.
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 939
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение nissin » 12.11.2009 16:09

aragnom
UTSL - Use The Source, Luke
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 12.11.2009 16:25

спасибо nissin, я воспользовался функциями из каталога utf, точнее говоря utf8_clean_string с соответствующим редактирование вложеных функций и теперь username_clean получаю через нее. для англ логинов выдают норм имя а для русских пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
:oops: :oops: :cry:

при этом больше всего беспокоит ошибка "На этом сайте нет форумов." но они там есть. она возникает у тех пользователей которые занесены в бд вручную и имеют логин на англ яз.

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение nissin » 12.11.2009 16:30

А если в кодировке UTF-8?
А вновь созданного пользователя включаете в группу зарегистрированных пользователей?
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение aragnom » 13.11.2009 8:02

id_group = 3 это не то?

aragnom
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 13.10.2009 14:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Регистрация.Добавление пользователей прямо в БД

Сообщение nissin » 13.11.2009 9:24

Таблица phpbb_user_group
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

След.

Вернуться в Для авторов (phpBB 3.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы