Verfasst: 28.01.2006 11:10
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.
Oder halt auch anders rum.
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
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);
}
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();
}
?>