Login auf Website

  • Hallo,

    ich habe einige Fragen bezüglich dem Login von WBB. Ich sollte noch erwähnen das ich praktisch keine Erfahrung mit PHP habe.

    Das Ziel ist auf der "normalen" Website sich bereits mit dem Login des Forums anzumelden / registrieren. Falls dies dann geklappt hat soll man auch seinen Usernamen sehen können. Wenn man dann auf einen Link fürs Forum klickt soll man dort bereits eingeloggt sein.

    Dazu bräuchte ich Hilfe bezüglich den Codes die ich implementieren muss.

    Fragen:

    1.) Welchen PHPCode brauche ich für das Login?
    2.) Welchen PHPCode brauche ich für die Registrierung?
    3.) Welchen PHPCode brauche ich um den Usernamen der eingeloggten Personen anzuzeigen?
    4.) Wie genau binde ich das in die Website ein, damit die Loginfunktion ähnlich wie im Forum ist?

    Wäre froh falls sich jemand ein bisschen Zeit nehmen könnte um mir weiterzuhelfen.

    Grüsse

    ---

    Lösungszusammenfassung:

    HTML Form für die Benutzereingabe:

    login.php Datei:


    Einmal editiert, zuletzt von romanius2 (8. November 2016 um 20:12) aus folgendem Grund: Lösung hinzugefügt

  • Ich sollte noch erwähnen das ich praktisch keine Erfahrung mit PHP habe.

    Dann wird dir das nicht unbedingt etwas bringen, da wir dir zwar den Code zum Anmelden liefern können, aber du ihn in deinen Login wursteln musst du selbst.

    externer Login - WCF 2.x / WBB 4.x
    Registrierung / Login auf externer Seite
    Externer Login
    Externer Login mit WCF2-User Account
    Login to WBB from external page, API docs?
    Mal alles durchlesen und schauen, was dich weiter bringt...

    WCF::getUser()->username gibt den Benutzernamen aus
    WCF::getUser()->userID gibt die ID des Benutzers aus

    zu 4.: Wie gesagt, das musst du selbst tun, da wir weder wissen wie deine Website aussieht noch wie sie technisch entwickelt ist. Ohne das zu wissen, können wir dahingehend kaum etwas sagen.

  • Danke erstmal für deine Antwort.
    Ich hab es mit folgendem Codeschnipsel versucht:

    Nun wir jedoch direkt:
    "Eingegebene Daten: Name,Passwort. Den User gibt es nicht. "
    ausgegeben, bevor ich überhaupt was eingeben konnte. Wie mache ich ein Forumular in dem man sich einloggen kann? Zudem ist komisch das der gesamte untere Teil (nach dem Code) auf der Website nicht mehr sichtbar ist.

    Grüsse

  • exit();

    Deswegen wird auch nichts weiter angezeigt. ;)

    Wieso übergibst du Benutzername und Passwort mit GET statt POST? Das ist etwas unsicher, da man den Link dann teilen kann und einen automatischen Login hat. Jedenfalls scheint in deinem GET kein Index n zu existieren, sonst würde er nicht auf Name und Passwort zurückgreifen. Sinnvoller wäre btw. zu prüfen, ob die beiden Felder emty() sind und in diesem Fall auszugeben, dass sie leer sind.

  • @MysteryCode danke für deine Bemühungen.
    Wie siehts mit einem solchen Code aus? Wie erstelle ich ein Formular in html oder php um den Benutzernamen und das Passwort eingeben zu können?


    Es wird wieder nichts unterhalb des Codes angezeigt, wenn ich "die();" entferne hilft das nichts.

    Einmal editiert, zuletzt von romanius2 (8. November 2016 um 14:43)

  • Funktioniert! Vielen Dank @MysteryCode
    Bei einem erfolgreichen Einloggen kommt die positive Rückmeldung "alles gut" und die Website wird angezeit.
    Wie mache ich das nun so dass der Benutzer sich selber einloggen kann?

    2 Mal editiert, zuletzt von romanius2 (8. November 2016 um 15:04) aus folgendem Grund: Rechtschreibfehler korrigiert

  • Ein Formular schreiben a la https://github.com/WoltLab/WCF/bl…in.tpl#L10-L119
    Wichtig ist neben dem form-tag folgendes: https://github.com/WoltLab/WCF/bl…gin.tpl#L14-L45
    und der Button: https://github.com/WoltLab/WCF/bl…s/login.tpl#L61
    Da das Smarty ist und ich keine Ahnung habe, was du nutzt, kann ich dir nur sagen, dass du vermutlich das Smarty in PHP umwandeln musst.
    Dann die entsprechenden Felder in $_POST auslesen und als username/password verwenden.

  • Da das Smarty ist und ich keine Ahnung habe, was du nutzt, kann ich dir nur sagen, dass du vermutlich das Smarty in PHP umwandeln musst.

    Weiss ich selber nicht :D
    Habe einfach Webspace, die Website ist bisher nur mit Html & Css und ein bisschen JavaScript erstellt.
    Kann ich das irgendwo einsehen?

  • Wenn deine Anwendung das erste Mal läuft, werden die Smarty-Templates in PHP umgewandelt und abgelegt.

    Seine Website basiert auf reinem HTML wies aussieht. Heißt er muss seine Website erst mal auf eine PHP-Datei umstellen, damit er überhaupt PHP nutzen kann.
    Dann verwendet er kein Smarty, sondern direkt PHP - ist vollkommen ausreichend für ein kleines HTML-Formular.

  • Heißt er muss seine Website erst mal auf eine PHP-Datei umstellen, damit er überhaupt PHP nutzen kann.

    PHP funktioniert, da ich von index.html auf index.php gewechselt hab.
    Derzeit läuft PHP 5.6.

    Bezüglich dem Formular, wenn ich dieses

    Ein Formular schreiben a la github.com/WoltLab/WCF/blob/ma…plates/login.tpl#L10-L119

    kopiere funktioniert nichts, ich nehm an weil ich kein Smarty hab.

    Wie kann ich nun mit einem Simplen HTML Formular das Login durchführen? Derzeit hab ich das:

    Code
    <div class="field">
    <input name="name" id="name" placeholder="Benutzername / E-Mail" type="text">
    </div>
    <div class="field">
    <input name="password" id="password" placeholder="Passwort" type="password">
    </div>
    <ul class="actions">
    <li><input value="Einloggen" class="special" type="submit"></li>
    </ul>
    </form>
  • Am Anfang fehlt noch ein <form method="post" action=""> wobei der Inhalt von action die URL deines Formulars sein sollte, sofern du in derselben Datei auch den Login verarbeitest.
    $_POST['name'] liefert dir den Benutzernamen, das Passwort analog.

  • Vielen Dank, funktioniert nun.

    Derzeit mach ich bei action="login.php", im login.php ist der Code. Kann ich das auch irgendwie ohne die login.php Seite machen?

    Falls das jemand weiss:
    - Wie kann man das Anmeldeformular verschwinden lassen wenn man bereits angemeldet ist? Einfach durch einen Abmeldebutton ersetzen.
    - Wie kriegt ich den Usernamen des angemeldeten Nutzers? Damit ich so was wie: "Hallo {Username}" schreiben kann.

    Vielen Dank für eure Hilfe.

  • Hab nun diesen Code in der login.php Datei. Damit werd ich direkt wieder zur Startseite geleitet.

    Code
    <head>
    <meta http-equiv="refresh" content="0; URL=../">
    </head>

    Nun währe es cool das anstatt das Anmeldeformular einen Button zum Logout steht.

    Grüsse

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!