Drupal7 Forms, the Form API (FAPI), and Forms tutorials

Keywords

Once you've got a handle on the Form API, one of the best references for daily work is the Form API Reference, which tries to tabulate which form '#' properties are valid for each Form element '#type', along with some default values.

Of course, such a complex Form API table demonstrates exactly why the complete object-oriented encapsulation demonstrated by the developmental OOE = Object Oriented Examples = One Of Each module (featured on this site) is so powerful and so needed ! Visit also the classes and interfaces of these packages: Drupal\ooe\Form, Drupal\ooe\Demo\Form.
CAUTION: some examples and tutorials use form builder functions (invoked via drupal_get_form) that are named like:
 MYMODULE_form($form,&$form_state)
 MYMODULE_form($form,&$form_submit)
These are NOT implementations of the special node form hook from drupal7 node.api.php:
hook_form($node, &$form_state)

WARNING: Some of the external tutorials links listed below are for Drupal6, not Drupal7, I have tried to group the Drupal 7 ones at the top.
Visit also