Can't save custom field data: form submit function doesn't fire
If you add the custom field through hook_form_alter. You need to store the data manually in your custom table by using your custom submit handler..    Otherwise you could use the below code in your *.install file

function MYMODULE_enable() {
  // Check if our field is not already created.
  if (!field_info_field('field_myField')) {

    // Create the field base.
    $field = array(
      'field_name' =&gt; 'field_myField', 
      'type' =&gt; 'text', 
    );
    field_create_field($field);

    // Create the field instance on the bundle.
    $instance = array(
      'field_name' =&gt; 'field_myField', 
      'entity_type' =&gt; 'user', 
      'label' =&gt; 'My Field Name', 
      'bundle' =&gt; 'user', 
      // If you don't set the "required" property then the field wont be required by default.
      'required' =&gt; TRUE,
      'settings' =&gt; array(
        // Here you inform either or not you want this field showing up on the registration form.
        'user_register_form' =&gt; 1,
      ),
      'widget' =&gt; array(
        'type' =&gt; 'textfield',
      ), 
    );
    field_create_instance($instance);
  }
}