回答:
ここでの決定的な違いは、ほとんどの場合、$ form_state ['values'];を使用する必要があることです。$ form_state ['input']配列のデータは生で検証されていないためです。
$ form_state ['input']は、マルチステップフォームに便利です。生の入力を安全に処理する方法に精通していることを前提としています。詳細については、form_builderを参照してください...
何をしているのかわからない限り、$form_state['values']
それは処理されたフォームの値です。$form_state['input']
生データです。form_builderのコードを参照してください:https://api.drupal.org/api ....
でdrupal_form_submitの機能は、次のコードを見ることができます:
// Populate $form_state['input'] with the submitted values before retrieving
// the form, to be consistent with what drupal_build_form() does for
// non-programmatic submissions (form builder functions may expect it to be
// there).
$form_state['input'] = $form_state['values'];
したがって、まったく同じです。