Homepage um phpBB3 aufbauen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Antworten
Benutzeravatar
Glanter
Mitglied
Beiträge: 9
Registriert: 18.01.2009 01:33

Homepage um phpBB3 aufbauen

Beitrag von Glanter »

Hiho

Da wir recht unzufrieden sind, dass man sich mehrmals bei unserer Homepage einloggen muss, versuch ich alles komplett neu auf zu bauen.
http://ddm.glanter.ch

Dabei will ich die Loginverwaltung von phpBB3 für die ganze Seite brauchen.

Vorgestellt habe ich mir, dass ich irgendwie die SessionID von phpBB3 herausfinden kann, damit in '_sessions' die 'session_user_id' entnehmen und damit eine eigene Datenstruktur neben phpbb aufbauen kann.

Integriert wird das Forum über ein dynamisches iframe.
Testsite: http://www.glanter.ch/sandbox/ddm/index.php?p=forum

Nur habe ich keine Ahnung wie ich von phpBB3 die SessionsID herausfinden kann oder eine Vorgeben indem ich vorher eine Session starte.
z.B. hat meine Seite 1ef61434e5*** und phpBB3 97011455e8***

Habe zwar schon gesehen dass man eigenen php Code einbinden kann. Aber da die Seite nicht immer das Forum aufruft geht das warscheinlich nicht.

Hoffe dass sich da jemand besser aus kennt als ich :roll:

Gruss
Glanter
Benutzeravatar
Unimatrix_0
Mitglied
Beiträge: 392
Registriert: 03.11.2007 10:50
Kontaktdaten:

Re: Homepage um phpBB3 aufbauen

Beitrag von Unimatrix_0 »

Forum-FAQ "phpBB 3.0: Mod-Bastelstube"
Vorlage für in phpBB3 eingebundene Seiten - wenn du das Session-Management von phpBB3 in externen Seiten (z.B. CMS, Homepage, Gästebuch) nutzen möchtest.
oder du versuchst:

[Snippet] Externer Login / Logout für phpBB3

je nachdem, was dir einfacher erscheint :)
Benutzeravatar
m4ddy
Mitglied
Beiträge: 118
Registriert: 15.11.2009 15:10

Re: Homepage um phpBB3 aufbauen

Beitrag von m4ddy »

oha... noch 'n Caldari... die findet man echt überall :lol:

Du könntest aber auch mal beim Anbieter deines CMS nachfragen, die benutzen ja ebenfalls ein phpbb in Verbindung mit ihrem CMS, also sollten die ja schon eine gute Lösung parat haben, bleibt nur noch die Frage ob sie das rausrücken wollen :wink:

gruß
m4ddy
Benutzeravatar
Glanter
Mitglied
Beiträge: 9
Registriert: 18.01.2009 01:33

Re: Homepage um phpBB3 aufbauen

Beitrag von Glanter »

Das einzige was die können ist dynamic iframe was ich etwas abändern werde und eine Registrierungsbridge.

Aber dass man nur ein Login für beide Seiten braucht können sie noch net. Deshalb baue ich jetzt was eigenes auf das sauberer aufgebaut ist und nicht von WoW kommt :P

Das Externe Login sieht ganz nach dem aus welches ich brauchen kann.
http://www.lpi-clan.de/viewtopic.php?f=26&t=3550#p16648

Das Login geht zwar, aber ich hänge noch an der weitergabe der Sessionsid die beim login erzeugt wird.

Code: Alles auswählen

<?php
    /**
    *
    * externes Login script fuer phpBB3
    * Kann zur WebSite Authentifizierung benutzt werden
    *
    */
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    require($phpbb_root_path . 'common.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();

    //Abfragen von ggf. uebermittelten Parametern
    $username     = request_var('username', '', true);
    $password     = request_var('password', '', true);
    $autologin    = (!empty($_POST['autologin'])) ? true : false;
    $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;

    $logout     = request_var('mode', '');

    //Wenn username und passwort uebergeben worden sind, starte einen Anmeldeversuch
    if (isset($username) && isset($password))
    {
        $auth->login($username, $password, $autologin, $viewonline);
    }

    //Wenn ueber einen Link der mode=logout lautet und eine SID uebergeben wurde, starte das ausloggen des Users
    if ($logout == 'logout')
    {
        $user->session_kill();
    }

    /**
    *
    * Optionaler Code
    * Prüfe ob User eingeloggt ist oder nicht
    *
    */

    if ($user->data['is_registered'])
    {
        // Hier steht der Code für ein erfolgreich eingeloggter User
        echo "Du bist angemeldet.<br /><br />";
        echo "<a href=\"".append_sid('../index.php?p=forum')."\">Zurück zur Hauptseite</a><br /><br />";

        //Optionaler Code zum Ausloggen.
        //Es ist wichtig, das die Session ID mit der Funktion append_sid() uebergeben wird.
        echo 'Zum Abmelden <a href="'. append_sid("{$phpbb_root_path}login.$phpEx", "mode=logout") . '">hier</a> klicken';
    }
    else
    {
        //Wenn Du hier landest bist Du nicht eingeloggt.
        echo "Du bist abgemeldet<br /><br />";
        echo "<a href=\"../login.html\">Nochmal versuchen?</a>";
    }

    ?>
echo "<a href=\"".append_sid('../index.php?p=forum')."\">Zurück zur Hauptseite</a><br /><br />";
Das hängt die SID leider nicht an... Wenn dies geht bin ich vollum glücklich und kann mit dem start der HP beginnen ;)

Geplante vorgehensweise:
- seite aufrufen
- per externes loginscript einlogen
- das externe script erzeugt bei phpBB3 die Sessionsid mit allem drum und dran
- das Script leitet auf die startseite zurück inc SID die ich dann verwenden kann
- mit der SID kann ich auf die Datenbank zugreifen und die Userid holen -> kann meine eigenen Tabellen aufbauen
Benutzeravatar
Unimatrix_0
Mitglied
Beiträge: 392
Registriert: 03.11.2007 10:50
Kontaktdaten:

Re: Homepage um phpBB3 aufbauen

Beitrag von Unimatrix_0 »

wenn ich es richtig im Kopf habe wird per append_sid() nur die Session-ID angehangen wenn es nötig ist, zB kein speichern im Cookie möglich ist o.ä.

€dit: meine Erinnerung stimmt
http://wiki.phpbb.com/Append_sid
Append sid is used whenever you send a link to a template, including the action attribute value of html forms. This function will activlty determine whether a Session ID needs to be appended to the URL in order to preserve the current session.
Benutzeravatar
Glanter
Mitglied
Beiträge: 9
Registriert: 18.01.2009 01:33

Re: Homepage um phpBB3 aufbauen

Beitrag von Glanter »

Ah jetzt hat sie plötzlich die SID angehangen und vorher nicht.

Und phpBB3 SID und die auf meiner Seite stimmen jetzt sogar überein *freu*

Muss das aber noch besser testen. Wenn das nicht jedes mal korrekt funzt muss ich da nochmal dahinter...


Bin hier vorerst fertig, kann jetzt mit dem aufbau der eigenen Seite anfangen.

Thx
Benutzeravatar
Glanter
Mitglied
Beiträge: 9
Registriert: 18.01.2009 01:33

Re: Homepage um phpBB3 aufbauen

Beitrag von Glanter »

Hab doch noch ein Problem. Betrifft aber mehr meine Unwissenheit über php :roll:

Wenn ich die SID per session_id() starte, wird diese nicht im Cookie abgespeichert.
Die SID soll aber weiterhin bestehen bleiben. Soll das so sein oder was mache ich falsch?

Das Cookie manuell setzen macht mich unsicher...

Code: Alles auswählen

if(isset($_GET['sid'])){
  session_id($_GET['sid']);
  setcookie("PHPSESSID", $_GET['sid'], time()+30*24*60*60);
}else{
  session_start();
}
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“