私は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 が送信されます。
正しい生年月日が入力されたときに別のフォームを表示するにはどうすればよいですか?