Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe und besinnliche Weihnachten!

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
MyBB Login mit E-Mail statt Benutzername
#11
Vielen Dank für die Umfangreiche Hilfe.
Zitieren
#12
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'];

Zitieren
#13
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 =)
Zitieren
#14
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#15
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.
Zitieren
#16
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
Zitieren
#17
Hallo lambade,
(22.11.2009, 02: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
Zitieren
#18
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 !
Zitieren
#19
Hast du etwas an den Sprachdateien verändert?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#20
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
Zitieren