im trying about a week to do multistep form usin form api in drupal 6 and in the step 2 there is 2 upload fields and then its should proceed until step 5, after user fill the st
Try multiform, but be careful as it is still in dev state.
If you want to do it on your own, have a storage variable called step in the form which represents the current step, and increment it everytime this function is called.
// if **step** is not set, make it 0, else increment it by 1.
$step = isset($form_state['values']) ? (int)$form_state['storage']['step'] : 0;
$form_state['storage']['step'] = $step + 1;
Use a switch case to render the form elements for the current step. If it is not last step dispaly next button, else submit button. Move the values from $form_state['values'] to $form_state['storage']
In the submit function, perform the database insertion if it is the last step else just return.