Form submition don't work I will build a form for register new team on drupal 7 website.

In my custom module i use this code :

tournament.module :

function tournament_menu() {
    $items['tournament/newteam'] = array(
        'title' =&gt; 'Créer une nouvelle équipe',
        'page callback' =&gt; 'form_newteam',
        'access callback' =&gt; TRUE,
        'file' =&gt; 'form_tournament.inc',
    );
}  


form_tournament.inc :

function form_newteam ($form, &amp;$form_state) {
    $form['description'] = array(
        '#type' =&gt; 'item',
        '#title' =&gt; 'Créer une nouvelle équipe'
    );

    $form['name'] = array(
        '#type' =&gt; 'fieldset',
        '#title' =&gt; t('Name'),
        '#collapsible' =&gt; TRUE,
        '#collapsed' =&gt; FALSE,
    );
    $form['name']['name_team'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Nom de l\'équipe',
        '#required' =&gt; TRUE,
        '#description' =&gt; "Entrez le nom de votre équipe.",
        '#size' =&gt; 20,
        '#maxlength' =&gt; 25,
    );
    $form['name']['tag_team'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Tag de l\'équipe',
        '#required' =&gt; TRUE,
        '#description' =&gt; "Entrez le tag de votre équipe (version courte du nom de votre     équipe ex : 'FrR').",
        '#size' =&gt; 4,
        '#maxlength' =&gt; 4,
    );

    $form['submit'] = array(
        '#type' =&gt; 'submit',
        '#value' =&gt; 'Créer',
    );

    $form['contact'] = array(
        '#type' =&gt; 'fieldset',
        '#title' =&gt; t('Contact'),
        '#collapsible' =&gt; TRUE,
        '#collapsed' =&gt; FALSE,
    );
    $form['contact']['contact_email_team'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Email de contact de l\'équipe',
        '#required' =&gt; TRUE,
        '#description' =&gt; "Entrez l'email de contact de la team.",
        '#size' =&gt; 20,
    );    
    $form['contact']['contact_name_team'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Nom du contact',
        '#required' =&gt; TRUE,
        '#description' =&gt; "Entrez le nom du contact de l'équipe.",
        '#size' =&gt; 20,
        '#maxlength' =&gt; 64,
   );

    [...]

    return $form;
}

function form_newteam_validate($form, &amp;$form_state) {
    $syntaxe_email = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';

    if (!preg_match($syntaxe_email, $email)) {
        form_set_error('contact_email_team', "Entrez une adresse email valide !");
    }    
}

function form_newteam_submit($form, &amp;$form_state) {

    drupal_set_message('OK : team : @team, tag : @tag, email : @email, contact : @contact, site_web : @site, logo : @filename. ',
        array(
            '@team' =&gt; $form_state['name']['name_team'],
            '@tag' =&gt; $form_state['name']['tag_team'],
            '@email' =&gt; $form_state['contact']['contact_email_team'],                
        )
    );
}


This form appears correctly, but when i submit it, nothing is happening...

Any idea ? 

Thank !
drupal_get_form has to be called to render a correct form.

Alter the hook_menu definition to this:

function tournament_menu() {
    $items['tournament/newteam'] = array(
        'title' =&gt; t('Créer une nouvelle équipe'),
        'page callback' =&gt; 'drupal_get_form',
        'page arguments' =&gt; array('form_newteam')
        'access callback' =&gt; TRUE,
        'file' =&gt; 'form_tournament.inc',
    );
}