Я пишу свое первое приложение CakePHP и просто пишу вторую часть формы сброса пароля, когда пользователь получил письмо, содержащее ссылку на сайт, и когда они щелкните по нему, и им будет предложено ввести и подтвердить новый пароль.Проблема передачи переменных URL-адреса при отправке формы с помощью CakePHP FormHelper
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="https://stackoverflow.com/users/reset_password_confirm/8">
Проблема заключается в идентификатор пользователя (8 в этом случае) добавляется к действию формы. Это не проблема здесь, но когда я хочу, чтобы пройти через хэш на мой контроллер:
function reset_password_confirm($static_hash=null) {
// function body
}
$static_hash
теперь населен с 8, а не хэш из URL.
Я знаю, что я мог бы разобраться в этом, создав тег формы сам, а не используя $form->create
, но есть ли более увлекательный способ сделать это?