Multiple forms on one page - gather values I am using the hook_form to create 2 different forms in a module file. Now it depends on what the URL parameters are, it can either display, one or the other or both.

Is there a function that picks up all form_states so i can gather values?
You can nest form elements, so there is effectively only one form. That case you'll only need one validation and submit handler. In the end all results will be in $form_state['values'].

function form_a($form, &amp;$form_states) {
  ..
  return $form;
}

function form_b($form, &amp;$form_states) {
  ..
  return $form;
}

function my_form($form, &amp;$form_states) {
  if ($need_a) {
    $form += form_a($form, &amp;$form_states);
  }
  if ($need_b) {
    $form += form_a($form, &amp;$form_states);
  }

  // Add the buttons.
  $form['actions'] = array('#type' =&gt; 'actions');
  $form['actions']['submit'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t('Save'),
    '#weight' =&gt; 5,
  );

  return $form;
}

function my_form_submit($form, &amp;$form_states) {
  drupal_set_message(print_r($form_state['values'], TRUE));
}