0

私はcakephpの初心者です。セキュリティ更新のため、ユーザーに生年月日を入力するよう求めています。彼が正しい生年月日を入力したら、秘密の質問とパスワードを含む別のフォームを彼に見せたい.

セキュリティチェック(生年月日確認)とセットセキュリティ(秘密の質問+パスワード)の2種類があります。

セキュリティが設定されている場合、セキュリティ チェック フォームが最初に表示され、生年月日を入力するように求められます。

これらの 2 つのフォームを表示する私のプロファイル ページのコード。

<?php if($_GET['edit'] == 'set_security'){ ?>
        <?php if (empty($security_set)): ?>
        <?= $this->element('../users/set_security') ?>
        <?php else:?>
         <?= $this->element('../users/set_security_check') ?>
        <?php endif; ?>
        <?php } ?>

私がコントローラーに書いた関数は、

function set_security_check()
{
   $user = $this->_authenticate_user();
   $id = $user['account_num'];
   $this->loadModel('UserProfile');
   $user_profile = $this->UserProfile->read(null, $id);
   $oldBirthdate = $user_profile['UserProfile']['birthday']; 
     if (!empty($this->data)) {
         $birthday = $this->data['UserProfile']['birthday'];
         if($oldBirthdate != $birthday)
         {
           $this->flashMessage(__('Your Birthday is Invalid. Please, try again.', true));

         }
         else
         {
          $this->flashMessage(__('Your Birthday Verified successfully', true), 'Sucmessage');
          $this->set('success', true);
         }

     }


}

ユーザーがセキュリティ編集ボタンをクリックすると、クエリ文字列 /profile?edit=set_security が送信されます。

正しい生年月日が入力されたときに別のフォームを表示するにはどうすればよいですか?

4

1 に答える 1