Dann wäre es am einfachsten du bennenst deine Felder um so wie sind phpbb_users sind um und änderst dann in der constants.php den Tabellennamen.
Oder halt auch anders rum.
Übergabe der Benutzeranmeldung an phpBB (für eingenen Login)
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Das von mir gepostete Query liest die Benutzerdaten aller drei Tabellen aus, wenn eine entsprechenden Session-ID übergeben wird. Nötig ist dazu nur, dass es in deiner zweiten User-Tabelle ein Feld session_id gibt, denn sonst kann man die Einstellungen ja nicht mit den Sessions in Verbindung bringen.
Um eine neue Session anzulegen, müsstest du also so vorgehen:
Um eine neue Session anzulegen, müsstest du also so vorgehen:
- Session-ID generieren
- Session in Sessions-Tabelle einfügen
- Cookie fürs Forum und für die Homepage setzen
- Benutzerdaten auslesen (mit meinem Query)
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
- Indiana Horschd
- Mitglied
- Beiträge: 5
- Registriert: 01.03.2004 16:34
Hallo,
ich weiß nicht, ob es jemand weiterhilft, aber ich habe das Problem folgendermaßen gelöst:
1. In die phpbb_users-Tabelle eine weitere Spalte (win_login) angefügt, die meine Loginnamen der ürsprünglichen Anmeldung enthält. (Da es sich bei mir um eine Intranet-Seite handelt, benutze ich den Windows-Login-Namen und authentifiziere die Benutzer über mod_auth_sspi am Apache Server)
2. Auf der Startseite fügte ich folgenden Code hinzu
Durch die Funktion "session_begin" wird dann die Anmeldung automatisch durchgeführt, und auch ein Cookie gesetzt.
Bei mir funktioniert das einwandfrei
CU
Indiana Horschd
ich weiß nicht, ob es jemand weiterhilft, aber ich habe das Problem folgendermaßen gelöst:
1. In die phpbb_users-Tabelle eine weitere Spalte (win_login) angefügt, die meine Loginnamen der ürsprünglichen Anmeldung enthält. (Da es sich bei mir um eine Intranet-Seite handelt, benutze ich den Windows-Login-Namen und authentifiziere die Benutzer über mod_auth_sspi am Apache Server)
2. Auf der Startseite fügte ich folgenden Code hinzu
Code: Alles auswählen
// Verbindung zum phpbb
define('IN_PHPBB', true);
$phpbb_root_path = '__wo_auch_immer_der_Pfad_ist__';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
// Auslesen der Anmeldeinformationen
list ($dom, $logname) = split('[\]', $_SERVER["REMOTE_USER"]);
$win_name = strtolower($logname);
// Auslesen der IP-Adresse
$ip=$_SERVER["REMOTE_ADDR"];
// Verbinden mit der phpbb-Datenbank
mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname);
// Abfrage der Benutzer-ID des angemeldeten Benutzers
$name = mysql_fetch_array(mysql_query("SELECT user_id FROM phpbb_users WHERE win_login= '$win_name'"));
// Schließen der Datenbank
mysql_close;
// Übergabe der Informationen an die Funktion "session_begin" in der Datei "includes/sessions.php"
// unter der Voraussetzung, dass der angemeldete Benutzer auch als phpbb-Benutzer existiert
if ($name <> "") {
$session_id = session_begin($name[0], $ip, 0, FALSE, TRUE);
}
Bei mir funktioniert das einwandfrei

CU
Indiana Horschd
ich verstehe nicht genau was du damit wo machst.
Wo steht der code?
Wie muss ich meinen Logincode anpassen?
PHPbb erkennt dann den Nutzer automatisch als eingeloggt?
und wie bzw wo füge ich die Daten die ich haben will der Session hinzu?
hier mal mein Logincode. wie muss ich den jetzt verändern? der Code wir über ein Formular aufgerufen.
Wo steht der code?
Wie muss ich meinen Logincode anpassen?
PHPbb erkennt dann den Nutzer automatisch als eingeloggt?
und wie bzw wo füge ich die Daten die ich haben will der Session hinzu?
hier mal mein Logincode. wie muss ich den jetzt verändern? der Code wir über ein Formular aufgerufen.
Code: Alles auswählen
<?php
session_start();
// Überprüfen, ob das Formular abgeschickt wurde und ob beide Angaben gemacht wurden.
if( isset($_POST['username'], $_POST['password'])
AND
strcmp(trim($_POST['username']),'') != 0
AND
strcmp(trim($_POST['username']),'') != 0 )
{ // Einbinden der Konfigurationsdateien
include_once 'config/config.php';
include_once 'config/config.frame.php';
// SQL-Anweisung an die Datenbank senden, um erstens herauszufinden, ob
// diese Kombination von Usernamen und Passwort überhaupt existiert und
// zweitens bei Existenz Userinformationen auszulesen
$sql = "SELECT
level,
status,
name
FROM
user
WHERE
name = '" . trim($_POST['username']) . "'
AND
password = '" . md5(trim($_POST['password'])) . "'";
$res = mysql_query($sql) or die( 'Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error() );
// Nur wenn genau ein Datensatz selektiert wurde wird der User eingeloggt.
// In allen anderen Fällen wird er zurück zum Loginformular geleitet.
if( mysql_num_rows($res) != 1 ) {
header( 'Location: index.php?section=loginfehler' );
exit();
}
else {
// Der Schlüssel 'loggedIn' erhält den Wert 'true'. So kann überprüft später werden,
// ob der User eingeloggt ist oder nicht.
$_SESSION['loggedIn'] = true;
// Der Status des Users wird auf "1"
$sql = 'UPDATE
user
SET
status = status 1
WHERE
name = ' . $user->name;
// Die userspezifischen Daten werden ausgelesen und der Session hinzugefügt
$user = mysql_fetch_object($res);
$_SESSION['status'] = $user->status;
$_SESSION['level'] = $user->level;
$_SESSION['name'] = $user->name;
// Der Login war erfolgreich und der User wird zur Startseite des
// passwortgeschützen Bereichs weitergeleitet
header( 'Location: intern/index.php');
exit();
}
}
else {
header( 'Location: index.php?section=login' );
exit();
}
?>
Hallo,
als Newbie in diesen Dingen halte ich mich gerne an ausführliche Tutorials:
http://aktuell.de.selfhtml.org/tippstri ... m#beispiel
Ist natürlich nicht auf PHPBB2 angepasst..
Wie könnte man dies ändern, um Mietgliederseiten zu schützen und gleichzeitig im Forum eingeloggt zu sein - also so wie Jan88 es wohl auch ganz gerne hätte.
Was muss ich, auch in den hier diskutierten Ansätzen in MySQL anpassen und wie mache ich das überhaupt?
Hoffentlich kann ich am Ende dieses Threads die Lösung auch als Newbie bei mir einbauen.
als Newbie in diesen Dingen halte ich mich gerne an ausführliche Tutorials:
http://aktuell.de.selfhtml.org/tippstri ... m#beispiel
Ist natürlich nicht auf PHPBB2 angepasst..
Wie könnte man dies ändern, um Mietgliederseiten zu schützen und gleichzeitig im Forum eingeloggt zu sein - also so wie Jan88 es wohl auch ganz gerne hätte.
Was muss ich, auch in den hier diskutierten Ansätzen in MySQL anpassen und wie mache ich das überhaupt?
Hoffentlich kann ich am Ende dieses Threads die Lösung auch als Newbie bei mir einbauen.