私は試行錯誤によって 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」に等しいことです。しかも毎回失敗。失敗のブランチで、「password」から取得した値を吐き出しましたが、それでも「1234」であることがわかりました...
$form['values']['password'] と "1234" の比較が、ここで意図したとおりに機能しない理由は明らかですか?