Ich möchte User selber direkt in der DB anlegen. Dies deshalb, da sich die User bei meiner Website registrieren. Der Lösungsansatz PHPBB als Userverwaltung und zur Registrierung zu verwenden geht bei mir leider nicht.
Meine Überlegung war, einfach die entsprechenden Einträge in der MSSQL Datenbank zu erstellen. Allerdings sind mir ein paar Felder nicht ganz klar. Diese sind: user_permissions, user_regdate (Datum ist klar, aber worauf bezieht sich der Zahlenwert), user_password (kann ich hier das kennwort auch clean reinschreiben oder muss ich es verschlüsseln? Wenn ja, wie?).
Gibt es irgendeine sinnvollere Methode einen neuen User von extern anzulegen?
Danke
Honkman
Externe Registrierung
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB hält bereits Funktionen bereit für derartige Zwecke.
http://area51.phpbb.com/docs/code/
http://olympuswiki.naderman.de/
http://area51.phpbb.com/docs/code/
http://olympuswiki.naderman.de/
Powered by Coffee
Order anders gefragt: Kann ich das Kennwort unverschlüsselt in die DB schreiben?
Mein Probem ist, dass ich die Applikation auf einem anderen Server habe. Meine Lösungsansatz wäre der, auf dem Server wo das Forum läuft ein Webservice laufen zu lassen, an das ich die Daten des neuen Users übergebe. Das Webservice (SOAP) macht dann nichts anderes als einfach einen neuen Eintrag in der User Tabelle zu erstellen.
Mein Probem ist, dass ich die Applikation auf einem anderen Server habe. Meine Lösungsansatz wäre der, auf dem Server wo das Forum läuft ein Webservice laufen zu lassen, an das ich die Daten des neuen Users übergebe. Das Webservice (SOAP) macht dann nichts anderes als einfach einen neuen Eintrag in der User Tabelle zu erstellen.
Meine Lösung:
Ich habe folgenden Beitrag bei php.com gefunden: http://www.phpbb.com/community/viewtopi ... &p=4447455
Dort hat jemand netterweise eine einfache PHP Seite gepostet, mit der man User registrieren kann (einfaches Form). Ich rufe jetzt einfach von meiner WebApp (läuft mit ASP) im Hintergrund dieses Form auf und übergebe die Benutzerdaten. User wird erstellt. Problem gelöst.
Ähnlich werde ich es auch mit dem Ändern der Kennwörter lösen.
Der Code der PHP Seite sieht wie folgt aus:
Einfach die Stellen ändern die man möchte.
Ich habe folgenden Beitrag bei php.com gefunden: http://www.phpbb.com/community/viewtopi ... &p=4447455
Dort hat jemand netterweise eine einfache PHP Seite gepostet, mit der man User registrieren kann (einfaches Form). Ich rufe jetzt einfach von meiner WebApp (läuft mit ASP) im Hintergrund dieses Form auf und übergebe die Benutzerdaten. User wird erstellt. Problem gelöst.
Ähnlich werde ich es auch mit dem Ändern der Kennwörter lösen.
Der Code der PHP Seite sieht wie folgt aus:
Code: Alles auswählen
<?php
define('IN_PHPBB',true);
$phpbb_root_path = "./phpBB3/";
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require_once( $phpbb_root_path . "common." . $phpEx );
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
if($user->data['is_registered'])
{
meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
trigger_error("You are already registered!");
}
$submit = request_var('submit', '');
if($submit)
{
// Retrieve default group ID
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $db->sql_escape('REGISTERED') . "'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$row)
{
trigger_error('NO_GROUP');
}
$group_id = $row['group_id'];
$data = array(
'username' => utf8_normalize_nfc(request_var('username', '', true)),
'user_password' => phpbb_hash(request_var('password', '', true)),
'user_email' => strtolower(request_var('email', '')),
'group_id' => (int) $group_id,
'user_type' => USER_NORMAL,
'user_ip' => $user->ip,
);
$user_id = user_add($data);
if ($user_id === false)
{
trigger_error('NO_USER', E_USER_ERROR);
}
//Set up welcome message
if ($config['require_activation'] == USER_ACTIVATION_SELF && $config['email_enable'])
{
$message = $user->lang['ACCOUNT_INACTIVE'];
$email_template = 'user_welcome_inactive';
}
else if ($config['require_activation'] == USER_ACTIVATION_ADMIN && $config['email_enable'])
{
$message = $user->lang['ACCOUNT_INACTIVE_ADMIN'];
$email_template = 'admin_welcome_inactive';
}
else
{
$message = $user->lang['ACCOUNT_ADDED'];
$email_template = 'user_welcome';
}
//Display message
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
trigger_error($message);
}
else
{
echo '<form action="./register.php" method="post">
Username: <input type="text" name="username" /><br />
E-mail address: <input type="text" name="email" size="25" maxlength="100" /><br />
Password: <input type="password" name="password" size="25" /><br />
<input type="submit" name="submit" value="Submit" />
</form>';
}
?>