User per Query selber anlegen bei phpbb 3 hilfeeee!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
adis
Mitglied
Beiträge: 3
Registriert: 10.10.2009 13:45

User per Query selber anlegen bei phpbb 3 hilfeeee!

Beitrag von adis »

Also ich habe da ein Projekt am laufen. eine lustige Kontaktbörse mit vielen Funktionen. Da darf natürlich ein Forum nicht fehlen.
Installation hat gut geklappt. Nun möchte ich es meinen Usern von Transflirt.de ersparen sich ein zweites mal im Forum anzumelden.
Habe ein Quer mit den wichtigsten Optionen zu Testzwecken geschriben. Der user kann sich einloggen doch er sieht das Forum nich weil er kein Recht dazu hat, oder so :roll: . Nu habe ich zwei Tage damit verbracht doch es klappt nicht.
Der Query

Code: Alles auswählen

$pass=md5('test');
echo $pass;
mysql_select_db('Datenbank');
mysql_query("INSERT INTO phpbb_users (user_permissions,user_type,group_id,username,username_clean,user_password, user_email, user_lang,user_timezone,user_dateformat,user_style,user_full_folder,user_topic_sortby_type,user_topic_sortby_dir,user_post_sortby_type,user_post_sortby_dir,user_notify,user_notify_pm,user_allow_pm,user_allow_viewonline,user_allow_viewemail,user_options) values ('00000000006xv29nwg','0','2','wurst','wurst','$pass','$emailforum','de','0.00','Dj.MY,H.i','2','-3','t','d','t','a','0','1','1','1','1','895')"); 
Wo zum Geier muss ich reinschreiben das er das Forum sehen kann :-?

Würde mich freuen wenn mir mal einer helfen kann. :-?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: User per Query selber anlegen bei phpbb 3 hilfeeee!

Beitrag von oxpus »

Hallo,

ich habe die gesamte Routine nun auch nicht im Kopf, allerdings werden dem User im Feld user_permissions zunächst keine Rechte eingetragen, sondern der User wird der Gruppe "Registrierte Benutzer" eingetragen und erhält somit alle nötigen Standardrechte.
Also folgende SQL-Anweisung wäre das (aus dem phpBB 3 entnommen):

Code: Alles auswählen

$sql = 'SELECT group_id
	FROM ' . GROUPS_TABLE . "
	WHERE group_name = 'REGISTERED'
		AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$group_id = $row['group_id'];
und

Code: Alles auswählen

$sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' ' . $db->sql_build_array('INSERT', array(
	'user_id'		=> (int) $user_id,
	'group_id'		=> (int) $group_id,
	'user_pending'	=> 0)
);
$db->sql_query($sql);
Dann wird dem User diese Gruppe als Hauptgruppe zugewiesen (Funktion group_set_user_default in der Datei includes/functions_user.php) und zuletzt noch ein paar Board-Statistiken ergänzt:

Code: Alles auswählen

		set_config('newest_user_id', $user_id, true);
		set_config('newest_username', $user_row['username'], true);
		set_config_count('num_users', 1, true);

		$sql = 'SELECT group_colour
			FROM ' . GROUPS_TABLE . '
			WHERE group_id = ' . (int) $user_row['group_id'];
		$result = $db->sql_query_limit($sql, 1);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		set_config('newest_user_colour', $row['group_colour'], true);
Da wäre es fast schon einfacher, die Datei includes/functions_user.php zu includieren und die Funktion user_add(); auszuführen.
Die dafür nötigen Parameter werden in der Datei includes/ucp/ucp_register.php aufbereitet...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „Coding & Technik“