MyBB.de Forum
MyBB Login mit E-Mail statt Benutzername - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: MyBB Login mit E-Mail statt Benutzername (/thread-13348.html)

Seiten: Seiten: 1 2 3


RE: MyBB Login mit E-Mail statt Benutzername - Anonym1 - 28.05.2009

Vielen Dank für die Umfangreiche Hilfe.


RE: MyBB Login mit E-Mail statt Benutzername - Anonym1 - 29.08.2009

Hallo,

ich habe eine weitere Frage. Wenn man seine E-Mail eingibt, aber ein falsches Kennwort eingibt, wird man zu dieser Seite weitergeleitet, wo man das Kennwort nochmal eingeben muss. Nun wird in dem Benutzernamenfeld aber der Benutzername und nicht die E-Mail-Adresse angezeigt. Dieses Problem führt dann dazu, dass man eine falsche E-Mail beim erneuten Login eingegeben hat, weil man ja seine E-Mail-Adresse und nicht seinen Benutzernamen eingeben muss.

Kann mir jemand das Plugin so verändern, dass in dem Benutzernamefeld nach falschem Login die E-Mail-Adresse angezeigt wird?

Bisheriger Code:
PHP-Code:
function emaillogin($query)
{
    global 
$mybb$db;
    
    if(
$mybb->input['quick_username'])
    {
        
$method "quick_username";
    }
    else
    {
        
$method "username";
    }

    
$query $db->query("SELECT username FROM ".TABLE_PREFIX."users WHERE email='".$db->escape_string($mybb->input[$method])."'");
    
$user $db->fetch_array($query);
    
$mybb->input[$method] = $user['username'];




RE: MyBB Login mit E-Mail statt Benutzername - lambade - 21.11.2009

Hallo,

das ist genau das was ich brauche! Wollte mal fragen ob Ihr das ganze jetzt schon getestet hat und ob es soweit läuft?

Könnte sich evtl. noch jemand der letzten Sache annehmen ? Ich blicke da nicht wirklich durch.....

Auch wenn der Beitrag schon etwas älter ist hoffe ich dass Ihr mir helfen könnt Toungue

lg, Lucas =)


RE: MyBB Login mit E-Mail statt Benutzername - Michael - 21.11.2009

Hallo und willkommen,

in Beitrag #10 findest du den Code für die nötige Funktion und hier siehst du, wie Plugins aufgebaut sind. Damit solltest du schon weiterkommen.


RE: MyBB Login mit E-Mail statt Benutzername - lambade - 21.11.2009

Alles klar danke, werde mich da mal durcharbeiten, da wichtigste war jetzt für mich dass es nacher auch funktioniert, also der Code richtig ist.


RE: MyBB Login mit E-Mail statt Benutzername - lambade - 22.11.2009

Also ich habe jetzt folgenden Code in der Datei loginwithmail.php in den ordner inc/plugins geladen. Jetzt wird das ganze aber nicht im Admin-CP bei den Plugins angezeigt.

Musst ich bei
Zitat:"SELECT username FROM ".TABLE_PREFIX."
noch irgentetwas ändern? also TABLE_PREFIX durch etwas ersetzen?
Code:
<?php
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("member_do_login_start", "emaillogin");

function emaillogin_info()
{
    return array(
        "name"            => "E-Mail Anmeldung",
        "description"    => "Mit diesem Plugin k&ouml;nnen sich die Besucher via E-Mail-Adresse anmelden",
        "website"        => "http://i-net.bplaced.net",
        "author"        => "IS WebSoft (XXX)",
        "authorsite"    => "http://i-net.bplaced.net",
        "version"        => "1.0",
        "guid"             => "",
        "compatibility" => "*"
    );
}

function emaillogin($query)
{
    global $mybb, $db;
    
    if($mybb->input['quick_username'])
    {
        $method = "quick_username";
    }
    else
    {
        $method = "username";
    }

    $query = $db->query("SELECT username FROM ".TABLE_PREFIX."users WHERE email='".$db->escape_string($mybb->input[$method])."'");
    $user = $db->fetch_array($query);
    $mybb->input[$method] = $user['username'];
}
?>

lg Lucas Toungue


RE: MyBB Login mit E-Mail statt Benutzername - linwinman - 22.11.2009

Hallo lambade,
(22.11.2009, 03:29)lambade schrieb: ...ich habe jetzt folgenden Code in der Datei loginwithmail.php in den ordner inc/plugins geladen. ...

ändere den Dateinamen in emaillogin.php. Wink


RE: MyBB Login mit E-Mail statt Benutzername - lambade - 22.11.2009

Ah, super! Hat geklappt =) lg Lucas & Danke
Jetzt habe ich ein weiteres Problem: bei der Registrierung steht jetzt anstatt "Benutzername" "E-Mail" über dem ersten Formularfeld, kann man das noch umändern? Weil ansonsten ist der Benutzername ja immer die E-Mailadresse !


RE: MyBB Login mit E-Mail statt Benutzername - Michael - 22.11.2009

Hast du etwas an den Sprachdateien verändert?


RE: MyBB Login mit E-Mail statt Benutzername - lambade - 22.11.2009

Achaj stimmt,

also ich habe in der global.lang.php
Code:
$l['login_username'] = "Benutzername";
in
Code:
$l['login_username'] = "E-Mail";

denn sonst steht bei der Login-Seite halt Benutzername ansttat E-Mail vor dem Formular und das ist falsch und führt zu Verwirrungen!

Kann ich wie folgt vorgehen?

in der global.lang.php
Code:
$l['reset_button'] = "Zurücksetzen";
$l['username'] = "E-Mail:";
$l['username2'] = "Benutzername";
$l['password'] = "Passwort:";
$l['login_username'] = "E-Mail";
$l['login_password'] = "Passwort";
$l['lost_password'] = "Passwort vergessen?";;

(dritte Zeile wurde neu hinzugefügt)

Und dann in der member.php

Code:
    // Set the data for the new user.
    $user = array(
        "username2" => $mybb->input['username'],
        "password" => $mybb->input['password'],
        "password2" => $mybb->input['password2'],
        "email" => $mybb->input['email'],
        "email2" => $mybb->input['email2'],
        "usergroup" => $usergroup,
        "referrer" => $mybb->input['referrername'],
        "timezone" => $mybb->input['timezoneoffset'],
        "language" => $mybb->input['language'],
        "profile_fields" => $mybb->input['profile_fields'],
        "regip" => $session->ipaddress,
        "longregip" => ip2long($session->ipaddress),
        "coppa_user" => intval($mybb->cookies['coppauser']),
    );

username durch username 2 ersetzen? (in der dritten Zeile)

Denn soweit ich das verstehe wird da nur etwas Aufgerufen und erst danach etwas in die Datenbank geschrieben und dort wird ja wieder "username" genutzt.

Wäre super wenn mir jemand sagen könnte ob das so funktioniert, weil wäre schlecht wenn dann irgentetwas in der Datenbank verändert wird und das ganze Forum dann nacher nicht mehr läuft!

lg Lucas