私がしたいことは、新しいパスワードとそれが要求された日付(0000-00-00 00:00:00)が設定されているかどうかを確認し、それに基づいて電子メールを送信することです。しかし、私は自分のロジックを変更する必要があると思っています。すでに設定されていれば、ユーザーに大量の電子メールを送信したくないからです。私が確信していないことも、もし彼らがメールを受け取っていなければどうなるかということです。パスワードの忘れたパスワード論理
私は何をすべきかに関するアイデアはありますか?
EDIT:new_password_keyは、ユーザーがログインするためのパスワードではないことを追加したかっただけです。今の時点で、私は彼らが新しいパスワードを入力できる電子メールのリンクからページに誘導させるつもりでした。
if (!isset($user_data->new_password_key) && (!isset($user_data->new_password_requested)))
{
if ($this->kow_auth->forgot_password($this->input->post('username')))
{
$this->kow_auth->send_email('forgot_password', 'KOW Manager Forgot Password Email', $user_data);
echo json_encode(array('success' => 'yes', 'message' => 'A temporary password has been emailed to you!'));
}
else
{
}
}
else
{
echo json_encode(array('success' => 'yes', 'message' => 'Check your email for your temporary password!'));
}
EDIT 2:
だけ($のalready_sent_password)あれば、彼らは「didnの何らかの理由で、それはif文に降りたらどうので、私はそれを持っているいくつかのロジックの問題があるようですそれを得る。じゃあ何?または、もしそれがif(!strtotime($ user_data-> new_password_requested)< =(time() - 172800))になったら、私は愚かに聞こえるようになっています。なぜ新しいパスワードを得るのに2日間待たなければならないのでしょうか?キー。
はい、しかし、他の人がそのボタンをクリックすることができます:あなたは電子メールを再送信しないと思った場合
しかし、彼らはパスワードを要求された最後の時間は、あなたが次の操作を行うことができ、20分前に下にあった場合あまりにも。またはボット。 – bottleboot
それは私が心配していることです。 –
私はまた、すべての人が考えることを見るために、私のサブミット機能全体を使ってcodereviewページに投稿しました。 http://codereview.stackexchange.com/questions/9010/forgotten-password-logicまだロジックが残っているかどうかは不明です。 –