form button redirecting to .inc module file I'm building a custom module and I would like to add some buttons that redirect the user to other .inc files on click.

My idea was something like this, in my mymod.user.inc file :

if ($form_state['storage']['step'] === 1) {

 $form['button']['addnew_form'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; 'new form',
    '#submit' =&gt; array('mymod_form_user_newform_form'),
            );

$form['button']['addnew_form2'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; 'new form 2',
    '#submit' =&gt; array('mymod_form_user_newformtwo_form'),
            );

 return $form;    

}


I added a hook_menu in my myform.module file :

function myform_menu(){
$items = array();

$items['myform/forms/newform'] = array(
    'title' =&gt; 'New form 1',
    'description' =&gt; 'New form 1',
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; array('mymod_form_user_newform_form'),
    'file' =&gt; 'myform.newform.inc',
    'access callback' =&gt; TRUE
);


When I click on my button, it doesn't redirect to the new form page.
Am I totaly wrong using this method ?
You redirect to a URL, you can't redirect to a PHP include file it's not possible. 

The function you give as the #submit key is run on form submission, it's not used to build up the next page request or anything like that.

Your code should look more like this:

$form['button']['addnew_form'] = array(
  '#type' =&gt; 'submit',
  '#value' =&gt; 'new form',
  '#submit' =&gt; array('MYMODULE_form_submit'),
);


Then you'll need a submit handler to match that:

function MYMODULE_form_submit($form, &amp;$form_state) {
  // Redirect to the appropriate URL.
  $form_state['redirect'] = 'myform/forms/newform';
}


You can add a second submit handler for your second button, with a different function name, and that redirects to a new menu item that you need to define which contains the second form.