Ergebnis 1 bis 3 von 3

Thema: Frontend-Login: Mit Benutzername oder E-Mail-Adresse einloggen?

  1. #1
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard Frontend-Login: Mit Benutzername oder E-Mail-Adresse einloggen?

    Hallo,

    gibt es eine Möglichkeit, dass sich Mitglieder entweder mit ihrem Benutzernamen oder mit ihrer E-Mail-Adresse einloggen können?

    Mir ist nämlich aufgefallen, dass viele Mitglieder versuchen, sich mit ihrer E-Mail-Adresse einzuloggen und dann scheitern. (Sieht man anhand der System-Logs)

    Es gibt glaube ich eine Erweiterung von Andreas Schempp (mailusername), allerdings ersetzt die E-Mail-Adresse dann anscheinend den Benutzernamen. Ich möchte aber den Mitgliedern weiterhin ermöglichen, sich auch mit dem Benutzernamen anzumelden.

    Gruß
    Chris

  2. #2
    Alter Contao-Hase
    Registriert seit
    10.05.2010.
    Ort
    Andernach / Rlp
    Beiträge
    1.158
    User beschenken
    Wunschliste

    Standard

    Hallo Chris87,

    ich habe auch schon einmal über eine solche Lösung nachgedacht und danach gesucht, allerdings bin ich nicht fündig geworden. Ich glaube allerdings das Du damit das Problem nicht lößt.

    Wer Schwierigkeiten hat sich mit seiner Mail-Adresse einzulogen (z.B. weil er die vergessen hat) wird sich wohl auch nicht mehr an seinen Benutzernamen erinnern.

    Ich denke ohne eine Modulanpassung wird´s wohl nicht gehen.

    Viele Grüße
    MiTsch
    Wer nichts weiss muss alles Glauben !

  3. #3
    Contao-Nutzer
    Registriert seit
    07.09.2010.
    Beiträge
    40

    Standard

    Hallo Chris,

    du könntest es mit einem Hook versuchen
    PHP-Code:
    config.php

    /**
     *Hook importUser - für Login mit username und email
     */ 
    $GLOBALS['TL_HOOKS']['importUser'][] = array('deineKlasse''deineFunktion'); 
    PHP-Code:
    deineKlasse.php

    class deineKlasse extends Frontend
    {
      public function 
    deineFunktion($strUsername$strPassword$strTable
      {
        if(
    strpos($strUsername'@') !== false)
        {
            
    $this->Import('Database');
            
    $objUser=$this->Database->prepare('SELECT username FROM '.$strTable.' WHERE email=?')->execute($strUsername);
            if(
    $objUser->numRows)
            {
                
    $this->Input->setPost('username'$objUser->username);
                return 
    true;
            }
        }
      }  


Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •