我试图通过反复试验来理解drupal表单(与Drupal文档不相处),我有点困惑为什么这不起作用:
function sform() {
$form['password'] = array(
'#type' => 'password',
'#title' => 'enter 1234'
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => '1234 and then click',
);
$form['#method'] = 'post';
return $form;
}
function sform_submit($form_id, $form) {
if (isset($form['values']['password']) && $form['values]']['password'] == "1234") {
drupal_set_message(t('Success;'), '');
}
else {
drupal_set_message("({$form['values']['password']})", 'warning');
drupal_set_message(t('Failure'), 'error');
}
}
我知道这一切都是非常基本的,而且我的想法不是让它以任何方式保持这样的状态。正如我所说,我只是在刺激 API 以了解哪些工作以及如何工作。
但问题是,基本检查是“密码”字段存在并且等于“1234”。而且每次都失败。在失败分支中,我吐出了我从“密码”中获得的值,但我看到它仍然是“1234”......
$form['values']['password'] 和 "1234" 之间的比较不应该像我在这里想要的那样工作,是否有一些非常明显的原因?