私は最初のCakePHPアプリケーションを作成しており、パスワードリセットフォームの2番目の部分を作成しています。このフォームでは、ユーザーがサイトへのリンクを含む電子メールを受信し、クリックすると新しいパスワードの入力と確認を求められます。
ページのURLは次のようになります。
/users/reset_password_confirm/23f9a5d7d1a2c952c01afacbefaba41a26062b17
ビューは次のようになります。
<?php echo $form->create('User', array('action' => 'reset_password_confirm')); ?>
<?php
echo $form->input('password', array('label' => 'Password'));
echo $form->input('confirm_password', array('type' => 'password', 'label' => 'Confirm password'));
echo $form->hidden('static_hash');
?>
<?php echo $form->end('Reset password'); ?>
ただし、これにより次のようなフォームが生成されます。
<form id="UserResetPasswordConfirmForm" method="post" action="/users/reset_password_confirm/8">
問題は、ユーザーID(この場合は8)がフォームアクションに追加されていることです。ここでは実際には問題ではありませんが、ハッシュをコントローラーに渡したい場合は、次のようにします。
function reset_password_confirm($static_hash=null) {
// function body
}
$static_hash
URLからのハッシュではなく8が入力されるようになりました。
使用するのではなく、自分でフォームタグを作成することでこれを整理できることは知って$form->create
いますが、これを行うためのより簡単な方法はありますか?