2016-08-18 4 views
0

Ich habe eine Web-App, wo es derzeit mit E-Mail-Adressen und Passwörtern funktioniert, so dass Sie ein Token per E-Mail versenden können. Das funktioniert gut.Fragen Sie beim ersten Login nach dem Passwort PHP/Codeigniter

Im Hinzufügen einer Option für PIN-Benutzer, die keine E-Mail-Konten haben und ich möchte in der Lage sein, sie ihr Passwort bei der ersten Anmeldung einrichten lassen. Wenn der Benutzer derzeit Setup die Datenbank Passwort-Feld unpopulated (dies geändert werden könnte, wenn erforderlich)

ich etwas bin stecken, wie mit diesem gehen, zur Zeit sieht die Anmeldungs ​​Ansicht wie folgt aus:

<div class="container"> 
 

 
    <div class="row">   
 
     <div class="col-md-9"> 
 
      <div class="col-md-2"></div> 
 
      <div class="col-md-5"> 
 
       <form class="form-center" method="post" action="<?php echo site_url('account/login_submit'); ?>" role="form"> 
 
        <h2 class="">Login</h2> 
 
        <div class="input-group"> 
 
         <input style="margin: 0px 0px;" type="text" name="email" class="form-control" placeholder="Email address/PIN"/> 
 
         <span class="input-group-addon"><?php echo $domain; ?></span> 
 
        </div> 
 
        <input type="password" name="password" class="form-control" placeholder="Password"/> 
 
        <input class="btn btn-primary" name="login" type="submit" value="Go"/> 
 
        <input class="btn btn-warning" name="forgot" type="submit" value="Forgot Password"/> 
 
       </form> 
 
      </div> 
 
      
 
      <div class="col-md-2"></div> 
 
     </div> 
 
    </div> 
 

 
</div><!-- /.container -->

Was ich denke, ist der beste Weg nach vorn zu erfassen ist, wenn jemand mit einem PIN und doesnt einloggt ein Passwort in der Datenbank festgelegt hat und leiten sie ihr Passwort zu einer Seite einrichten.

Dies ist, wo diese Frage (meiner Meinung nach) ein wenig zweifelhaft als Im ein bisschen unsicher, was ich fragen.

Derzeit legt die Login-Taste aufgerufen wird, wenn Sie das Passwort vergessen drücken und den Code unten

public function login_submit() 
    { 
     if ($this->input->post('forgot')!==FALSE) 
     { 
      try { 
       $email = $this->input->post('email').EMAIL_DOMAIN; 

       $this->forgot($email); 
      } catch (UserException $ex) { 
       $this->alert('Incorrect email', $ex->getMessage(), 'danger'); 
       header('Location: '.site_url('account/login')); 
       return; 
      } 
     } 

Sollte ich gerade hier eine weitere Bedingung hinzu, dass, wenn die vergessen haben, Taste gedrückt wurde und die PIN eingegeben wurde, dass Wir versenden keine E-Mails, sondern leiten sie auf eine Seite zum Ändern des Passworts um. etwas wie das? changing password in php/codeigniter

Oder gibt es eine bessere Möglichkeit, das Obige zu tun?

Antwort

2

Für Ihre Ausgabe

Zur Zeit der Login-Submit-Button aufgerufen wird, wenn Sie das Passwort vergessen drücken und den Code unten

Sie haben zwei Schaltfläche mit dem Typ "Eintragen"

<input class="btn btn-primary" name="login" type="submit" value="Go"/> 
<input class="btn btn-warning" name="forgot" type="submit" value="Forgot Password"/> 

Machen Sie die Passwort vergessen Taste zu einem Tag wie <a href="controller/action">Forgot Password</a>

und Passwort vergessen thing there auf der neuen Seite mit verschiedenen Formular-Aktion.

Und für

Kennwort anfordern bei der ersten Anmeldung

eine Spalte für eine Flagge erstellen zuletzt Login in Login-Tabelle mit Standardwert null und dann in Sie überprüfen Aktion anmelden, wenn last_login = = null, dann umleiten, um das Passwort zu ändern. Nach dem Login-Erfolg aktualisieren Sie das letzte Login-Feld nach dem aktuellen Datum.

+0

Danke, das scheint ein vernünftiger Weg nach vorne. – GPPK

Verwandte Themen