phpBB Login-Box auf der Homepage

  • Themenstarter Themenstarter gl
  • Beginndatum Beginndatum
G

gl

Hallo,

ich möchte gerne eine Login-Box auf meiner Homepage einbauen auf Basis von phpBB. Aber wenn man sich eingelogt hat, soll man wieder auf die Seite zurück geleitet werden, über die man sich eingelogt hat und ist man loggt ist, soll anstatt der Login-Box eine Box sein, wo der Benutzername steht, wieviele neue private Mitteilungen hat und ein paar Links. Vielleicht könnt ihr mir helfen?

Danke im voraus!

Euer Dennis
 
Gumbo hat gesagt.:
Wobei genau benötigst du denn Hilfe?

Ich hab schon mit einem Loginscript probiert, aber ich bin im Loginscript eingeloggt, aber nicht im phpBB und hätte gerne meine Webseite sehr eng mit phpBB nutzen.
 
Dann greife doch einfach auf die Daten der Forums zu oder verwende gleich das Login-Skript des Forums.
 
Um dich in phpBB einzuloggen musst du die daten aus der DB hohlen und auch solltest du die selben Session wie phpBB benutzen - daher wie Gumbo schon meinte schau im Code von phpBB nach und hohle dir die entsprechenden Teile heraus und passe sie an.
 
Das PHPbb Forum hat seine eigene Sessionverwaltung (session.php). Schaue dir einfach mal die Datei login.php an. Da erfährst du, wie du mit diesen Sessions arbeiten kannst.

Die wichtigste Datei dabei ist "common.php". Um die Session zu inizialisieren brauchst du folgenden Code
PHP:
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);

Findest du alles in login.php wieder.
 
Zuletzt bearbeitet:
Ich habe es folgendermaßen gelöst:

Externe-Seite (dort können die Login-Daten eingegeben werden) sendet Anfrage an die login.php des Forums. Die Formulardaten (z. B. input name) kopierst du dir einfach aus dem Login-Formular raus.

Nun möchtest du, dass die login.php nach der Überprüfung der Daten wieder auf die Ursprüngliche Seite zurückverweist (Den Sprung merkt der User gar nicht, weils so schnell geht)

Habe mir dazu in der login.php einen kleinen "Hack" geschrieben, welcher das ermöglicht:

PHP:
if( $session_id ) {
  if(!empty($_GET['upload'])) { //Damit diese Abfrage funktioniert sendest du dein Formular statt login.php an login.php?upload=1
    $vorseite = $_SERVER['HTTP_REFERER'];
    header("Location: $vorseite");
    exit();
  }
  else {
    $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
    redirect(append_sid($url, true));
   }
}

Zuvor stand dort nur:

PHP:
if( $session_id ) {
  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
  redirect(append_sid($url, true));
}

Die Variable $_GET['upload'] kann natürlich auch anders heißen, lag bei mir nur nahe, da ich einen Upload programmierte, der nur funktionieren soll, wenn der User in phpBB eingeloggt ist.

gruß

Willi
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück