How can I save form data on a node in Drupal?
In your submit function, you just need to create a node, e.g.

$values = array(
  'type' =&gt; $node_type, // Drop in your desired node type.
  'uid' =&gt; $user-&gt;uid, // Want to set an author?
  'status' =&gt; 0,
  'comment' =&gt; 0,
  'promote' =&gt; 0,
);
$entity = entity_create('node', $values);


To make your life easier, I recommend to use entity_metadata_wrapper:

$ewrapper = entity_metadata_wrapper('node', $entity);


Now, you can just cycle through your form data and add the values to the correct fields of your node:

$key = '&lt;MACHINE_NAME OF YOUR FIELD&gt;'; // e.g. "field_firstname"
$val = '&lt;VALUE TO BE SET FOR THAT FIELD&gt;'; // e.g. $form_state['values']['firstname']
$ewrapper-&gt;$key-&gt;set($val);


This of course depends on the field type, the above works for example for simple textfields. Finally, if all is set, just save the freshly created node:

$ewrapper-&gt;save();