【发布时间】:2013-10-10 13:57:49
【问题描述】:
我正在尝试通过反复试验来理解 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" 之间的比较不应该像我在这里想要的那样工作,有什么非常明显的原因吗???
【问题讨论】: