why not redirect to another page after form submit I do this in my form submit 

    $form_state['redirect']='checkout/' . $order-&gt;order_id;


but it not redirect to checkout page ( I test with another urls but it not work),
I take screen shot after set redirect , 
    

also I get $from_state by ref in function function pre_register_node_form_submit($form, &amp;$form_state) {  , what do you think? where is the problem?

another note is when I am use drupal_goto form not saved !!!, it redirect to my page with out anything saved.

Do you suggest me declare another submit function and add it to submit array of my content type and in it set redirect?

Update

also I test below

 if ($form_id == "pre_register_node_form") {
       $form['#submit'][] = 'mysite_submit_redirect';
}

function mysite_submit_redirect(&amp;$form, &amp;$form_state) {
  $form_state['redirect'] = 'home';
   // ym($form_state);

}


but not redirected :(
If that's a node form, the problem is the node submit handler sets the redirect already in node_form_submit

If you want to redirect to checkout after a node form submit, you can do it by adding a submit handler to the $form['actions']:

/**
 * Implements hook_form_alter
 */
function MODULE_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ($form_id == 'NODE_TYPE_node_form') {
    $form['actions']['submit']['#submit'][] = 'MODULE_NODE_TYPE_submit';
  }
}

/**
 * NODE_TYPE submit handler
 */
function MODULE_NODE_TYPE_submit($form, &amp;$form_state) {
  // You don't need order_id as /checkout will route to the correct location for user
  $form_state['redirect'] = 'checkout';
}


Note: You could also do it with Rules.