我有一個網絡應用程序,目前它可以處理電子郵件地址和密碼,因此您可以通過電子郵件發送令牌,讓用戶點擊並設置其密碼。這工作正常。第一次登錄時要求輸入密碼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
或者有沒有更好的方法做到上述?
謝謝,這似乎是一個明智的前進方向。 – GPPK