2016-08-18 85 views
0

我有一個網絡應用程序,目前它可以處理電子郵件地址和密碼,因此您可以通過電子郵件發送令牌,讓用戶點擊並設置其密碼。這工作正常。第一次登錄時要求輸入密碼PHP/Codeigniter

我爲沒有電子郵件帳戶的PIN用戶添加了一個選項,我希望能夠讓他們在第一次登錄時設置密碼。當用戶設置當前數據庫密碼字段無人居住(這可能是如果需要改變)

我有點卡住關於如何使用這個進行,目前我的登錄視圖看起來是這樣的:

<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 -->

我認爲是前進的最好的辦法是捕捉到,如果有人用PIN和犯規登錄有密碼在數據庫中設置並將其轉發到一個頁面設置自己的密碼。

這是這個問題(在我看來)得到一些iffy,因爲我有點不確定我在問什麼。

目前登錄提交按鈕,如果你按忘記密碼被調用,並具有下面的代碼

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; 
      } 
     } 

我應該添加在這裏另一個條件是,如果忘記按鈕被按下,並且銷已輸入我們不會發送電子郵件,而是重定向到更改密碼頁面?像這樣? changing password in php/codeigniter

或者有沒有更好的方法做到上述?

回答

2

對於您的問題

目前的登錄信息提交如果按忘記密碼,有下面的代碼

你有兩個按鈕,類型的按鈕被稱爲「提交」

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

將忘記密碼的按鈕添加到標籤,例如<a href="controller/action">Forgot Password</a>

並在不同的表單操作的新頁面做忘記密碼的事情。

而對於

詢問密碼在第一次登錄

創建用於空默認值的標誌作爲上次登錄在登錄表中的列,然後在您檢查登錄行動,如果LAST_LOGIN = = null然後重定向它來更改密碼屏幕。登錄成功後,按當前日期更新上次登錄字段。

+0

謝謝,這似乎是一個明智的前進方向。 – GPPK

相關問題