kostenloser Webspace werbefrei: lima-city


Phpbb Loginfunktion

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    f*******c

    Hallo @ all,
    ich will mir auf meine Seite Phpbb tuen und die Loginfunktion auf meiner Seite mitnutzen, so dass man nur dann auf einige Unterseiten kommt wenn man eingeloggt ist. -> Also Sozusagen auf derm Phpbb forum ist eine Loginfunktion und auf der Seite und beide holen sich die Daten aus der gleichen MySql Datei. Nun meine Frage: Woher speichert/l?d Phpbb die Userdatein und wie kann ich sie benutzten? M?glich ist es, das habe ich auf www.counterstrike.de gesehen...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    Die userdaten werden in Sessions abgerufen. Du kannst ?berpr?fen, ob die phpBB-Session vorhanden ist (also User eingeloggt ist) und je nachdem auswerten.
  4. Autor dieses Themas

    f*******c

    Sorry... aber ich bin bei php und mysql net so der profi..., aber am einfachsten schaut ihr euch das ganze auf http://www.counterstrike.de
    an, da ist links oben son kasten. Wenn man sich registriert kommt man aufs Forum und auf die Seite. ->entweder der registriert sich f?r beide oder der nimmt die gleichen User Daten.
  5. k***o

    hallo wolte mal fragen wie das den funz weil es noch nie ausprobirt habe
  6. Autor dieses Themas

    f*******c

    also ich hab die tabelle f?r die User gefunden. Ist echt stumpf bis auf: Das PW ist verschl?sselt...Hat jemand ne Idee wie ich drauf zugreifen kann?
  7. t*****b

    Das Passwort wird MD5-Verschl?sselt (=> Einwegverschl?sselung). Das hei?t, du musst das eingegebene Passwort erstmal verschl?sseln, dann ?berpr?fen ob das ?bereinstimmt:

    $pw = $HTTP_POST_VARS["PasswortParameterVomFormular"];
    $dbpw = PASSWORT AUS DER DATENBANK

    if (md5($pw) == $dbpw)
    {
    echo "Eingeloggt...";
    } else {
    echo "Login fehlgeschlagen...";
    }

    Das setzte in eine While-Schleife, die den Benutzername und Passwort ?berpr?ft, ob diese ?bereinstimmen.
  8. Autor dieses Themas

    f*******c

    irgendwie schaff ich das net :stupid::stupid::stupid::stupid:
    Also ich habe jetzt das gemacht:

    login.php:
    -----------------------------------------------------------------------------------------------
    <html>
    <head>
    <title>Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head><body><?php
    // Session starten
    session_start ();

    // Datenbankverbindung aufbauen
    $connectionid = mysql_connect ("mysql.lima-city.de", "USERxxxxx", "xxxxxxx");
    if (!mysql_select_db ("DB3108200417001", $connectionid))
    {
    die ("Keine Verbindung zur Datenbank");
    }

    $sql = "SELECT ".
    "user_active, username, user_passwort ".
    "FROM ".
    "phpbb_users ".
    "WHERE ".
    "(username like '".$_REQUEST["name"]."') AND ".
    "(user_password = '".md5 ($_REQUEST["pwd"])."')";
    $result = mysql_query ($sql);

    if (mysql_num_rows ($result) > 0)
    {
    // Benutzerdaten in ein Array auslesen.
    $data = mysql_fetch_array ($result);

    // Sessionvariablen erstellen und registrieren
    $_SESSION["user_id"] = $data["user_active"];
    $_SESSION["user_nickname"] = $data["username"];

    header ("Location: intern.php");
    }
    else
    {
    header ("Location: formular.php?fehler=1");
    }
    ?></body></html>
    ----------------------------------------------------------------------------------------------
    formular.php:
    ----------------------------------------------------------------------------------------------
    <?php session_start (); ?>
    <html>
    <head>
    <title>Login</title>
    </head><body>
    <?php
    if (isset ($_REQUEST["fehler"]))
    {
    echo "Die Zugangsdaten waren ung?ltig.";
    }
    ?>
    <form action="login.php" method="post">
    Name: <input type="text" name="name" size="20"><br>
    Kennwort: <input type="password" name="pwd" size="20"><br>
    <input type="submit" value="Login">
    </form>
    </body></html>
    -----------------------------------------------------------------------------------------------
    checkuser.php:
    -----------------------------------------------------------------------------------------------
    <html>
    <head>
    <title>Check User</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head><body><?php
    session_start ();
    if (!isset ($_SESSION["user_id"]))
    {
    header ("Location: formular.php");
    }
    ?></body></html>
    ------------------------------------------------------------------------------------------------
    logout.php:
    ------------------------------------------------------------------------------------------------
    <html>
    <head>
    <title>Logout</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head><body><?php
    // Wird ausgef?hrt um mit der Ausgabe des Headers zu warten.
    ob_start ();

    session_start ();
    session_unset ();
    session_destroy ();

    header ("Location: formular.php");
    ob_end_flush ();
    ?></body></html>
    ------------------------------------------------------------------------------------------------



    Das ganze tut aber net richtig... Auf dem Forum kann ich mich einloggen, dort net... :-(
  9. t*****b

    Glaube, du hast blos die Variable $user_password mit "t" anstatt mit "d" geschrieben. Trotzdem mal mein Loginscript (kannste benutzen):

    // ?bergabeparameter vom Formular
    $bn = $_REQUEST["name"];
    $passwort = $_REQUEST["passwort"];

    // Datenbankabfrage (Datenbankverbindung ausgeschlossen)
    $abfrage = "SELECT username, user_pasword FROM phpbb_users";
    $ergebnis = mysql_query($abfrage);

    // Passwort-?berpr?fung
    while($row = mysql_fetch_object($ergebnis))
    {
    if($row->username == $bn)
    {
    if($row->user_password == md5($passwort))
    {
    $login = "yes";
    }
    }
    }

    // Au?wertung von $login
    if($login == "yes")
    {
    // HIER NOCH SESSION SETZEN
    echo "Eingeloggt!";
    } else {
    echo "Login fehlgeschlagen!";
    }


    Solltest aber die Sessions setzen, die das phpBB-Board braucht, um die Daten (bzw. die Parameter) zu ?bermitteln (Damit man in dem Board eingeloggt ist und bleibt). Kann dir aber gerade nicht sagen, was in den Sessions gespeichert wird (ich schau mal dannach, weil das brauch ich auch).
    ?berpr?fen ob der User eingeloggt kannste so: ?berpr?fe ob eine Session gesetzt wurde, wenn ja ist der User eingeloggt, wenn nicht, ist kein User eingeloggt.
  10. Autor dieses Themas

    f*******c

    jo lag am t, hab noch ne frage: Wie bekomme ich die user-check Datei so hin, dass nur ein bestimmter User reinkommt? (nur admin)
  11. t*****b

    Kannst doch per if-Verzweigung ?berpr?fen ob der Benutzername der des von dem Admin ist:

    $admin_benutzername = "Admin";

    if ($username == $admin_benutzername)
    { echo "Admin!" } else { echo "Kein Admin"; }


    Oder du ?berpr?fst in der phpbb_userrs ob der user_rank des Benutzernamens 1 (=Admin) ist.
  12. Autor dieses Themas

    f*******c

    puh ok tut jetzt... (hatte erst noch nen fehler drin, deshalb antworte ich erst so sp?t...)
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!