MyBB.de Forum
Login auf eigener HP - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Login auf eigener HP (/thread-16985.html)

Seiten: Seiten: 1 2


Login auf eigener HP - King Louis - 21.09.2010

Hi,
also ich möchte ein Login auf Basis des MyBB Forums in meiner HP integrieren.

Folgenden Code habe ich auch schon (funktioniert auch soweit):
Code:
<?php
chdir('../Forum/'); // path to MyBB
define("IN_MYBB", 1);
require '../Forum/global.php';
include_once 'Forum/config.php';

if($mybb->user['uid']) {
    $titel = $mybb->user['usertitle'];
    if ($titel == '') {
        if ($mybb->user['usergroup'] == '2') {
            $titel = 'Registriert';
        }
    }
    echo '<br><br><p style="padding-left: 40px; color: black;">';
    echo 'Angemeldet als:<br>'.$mybb->user['username'].'<br>['.$titel.']';
    echo '<br>';
    echo '<a style="color:black;" href="http://jones-com.bplaced.net/Forum/member.php?action=logout&logoutkey='.$mybb->user['logoutkey'].'">Abmelden</a>';

} else {
    $site = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_BASENAME);?>
    <br><p style="">
    <form action="../Forum/member.php" method="post">
        <table border="0" style="color: black; padding-left: 40px;">
            <tr>
                <td>Username:</td>
                <td><input type="text" name="username" size="10" maxlength="30"></td>
            </tr>
            <tr>
                <td>Passwort:</td>
                <td><input type="password" name="password" size="10"></td>
            <tr>
                <td><input type="submit" class="submit" name="submit" value="Login"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="hidden" name="action" value="do_login"></td>
                <td><input type="hidden" name="url" value="../files/<?php echo $site; ?>"></td>
            </tr>
        </table>
    </form>
<?php } ?>

Was mir jetzt noch fehlt sind folgende Sachen:
-Die Checkbox fürs Angemeldet bleiben (könnte ich auch noch selber rausfinden)
-Überprüfung ob Admin/Super Mod oder Mod

Das hab ich zuerst mit der Überprüfung der Hauptgruppe gemacht, allerdings hat unter anderem folgenden Nachteil: Falls die Gruppe nicht primär ist, wird der Link nicht angezeigt

Ich weiss das bei phpbb, welches ich vorher mal hatte, es eine Funktion zum Überprüfen gab.
Falls es das auch für MyBB gibt, wäre es nett, wenn Ihr mir diese geben könntet.

Mit freundlichen Grüßen,
Jones


RE: Login auf eigener HP - Michael - 21.09.2010

Hallo und willkommen,

Den Code für die Checkbox findest du hier: https://www.mybb.de/forum/thread-14762-post-119981.html#pid119981

Ob jemand Admin ist kannst du normalerweise daran festmachen, ob der User Zugriff aufs ACP hat. Der Code siehst so aus:
PHP-Code:
if($mybb->usergroup['cancp'] == 1)
{
    
// User ist Admin

Für die Moderatoren gibt es eine Funktion in der inc/functions.php: https://crossreference.mybb.de/inc/functions.php.source.html#l1428

Noch ein Hinweis: Dein Code erlaubt Cross-Site-Scripting (XSS). Du solltest die Daten vor der Ausgabe durch htmlspecialchars() bzw. htmlspecialchars_uni() schicken.



RE: Login auf eigener HP - King Louis - 22.09.2010

Ok danke für die schnelle Antwort.


RE: Login auf eigener HP - Eruheran - 27.09.2010

Hey, ich möchte genau das gleiche realisieren! Smile

Dein Code sieht sehr gut aus, ich würde gerne fragen, wie das mit dem Ordner ist? Du hast zum Beispiel ./forum/ angegeben in der 2. Zeile. Geht er von root-Verzeichnis aus, oder von dem Standort, wo die index./login.php ist, bzw das Script?
Wie macht man es, dass wenn man sich einloggt auf eine bestimme Seite weitergeleitet wird?


RE: Login auf eigener HP - King Louis - 27.09.2010

Also in der 2. Zeile wird der relative Pfad zum Forum angegeben. Bei mir war die Datenstruktur verienfacht folgend:
  • root
    • files
      • user.php
    • Forum
    • index.php
wobei die index.php die user.php eingebunden hat.
Zur weiterleitung:
Code:
<input type="hidden" name="url" value="../files/<?php echo $site; ?>">
Dies ist die Zeile in der die weiterleitungs url angegeben wird. ich habe es hier so gemacht, dass die aktuelle Seite ermittelt wird und dann wieder darauf zurückgeleitet werden soll. Sollte man jetzt z.b. hier ins forum geleitet werden, gibt man als value eben https://www.mybb.de/forum/index.php an.

Hoffe konnte helfen


RE: Login auf eigener HP - Eruheran - 28.09.2010

Vielen dank, funktioniert jetzt! Smile
Wie mache ich es denn jetzt, dass wenn ich eingeloggt bin, danach kommt das mybb-fenster und dann komme ich zurück zur Seite, dass dann anstatt das Login-Feld ein UserCP erscheint?


RE: Login auf eigener HP - King Louis - 28.09.2010

Also du meinst jetzt wie auf meiner HP das rechte User Panel? Mit den Links usw?
Code:
if($mybb->user['uid'])
fragt ab ob der User eingeloggt ist. Wenn ja sollen halt die entsprechenden Links angezeigt werden, wenn nicht das Login Fenster.
Falls ich dich falsch verstanden bitte einfach kontaktieren, probiere dann zu helfen.


RE: Login auf eigener HP - Eruheran - 29.09.2010

Hast mich genau richtig verstanden! Danke dass du dir die Mühe machst, mir zu helfen. Das Problem liegt glaube ich daran, dass ich mich mit einem Administrations-Account versuche einzuloggen.
Habe aber den Code noch nicht eingefügt. Ich habe es versucht die RIchtige Stelle zu finden, leider Erfolgslos. Komm der Admin-Code in Zeile 12, nach der If-Abfrage für die Registrierten user?
Michael hat zwischen den Klammern einen kommentar hingeschrieben, sollte dann der fertige Code so aussehen?
PHP-Code:
if($mybb->usergroup['cancp'] == 1) {
              
$titel 'Administrator';
        } 




RE: Login auf eigener HP - King Louis - 29.09.2010

Wenn du in den eckigen Klammer das stehen haben willst ja.
Lohnt sich aber (soweit ich weiss) nicht da die abfrage dadrüber schon den Titel abfragt und Admins schon diesen haben.
Generell kann mit der if abfrage, die du gepostet hast aber abgefragt werden ob Admin oder nicht.

PS: Helfe doch gerne^^ sonst hätte ich ja kein Hilfe forum Wink


RE: Login auf eigener HP - Eruheran - 29.09.2010

Okey, ich sehe, dass wenn man sich bei dir einloggt, dass anstatt der Login-Bereich ein UserCP dasteht. Wie bekommst du diesen Wechsel hin?

Bei mir ist es so, ich logge mich ein, komme zurück und kann mich wieder einloggen, jedoch bin ich im Forum bereits eingeloggt.