-2

私は試行錯誤によって 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" の比較が、ここで意図したとおりに機能しない理由は明らかですか?

4

1 に答える 1