Recupérer une valeur de formulaire

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je suis débutant un développement sous Drupal et je n'arrive pas à trouver une information.

Actuellement je modifie le formulaire d'enregistrement d'un utilisateur comme ceci :

<?php
function monmodule_form_alter(&$form, $form_state, $form_id) {
   
    if (
$form_id == 'user_register') {
       
       
$form['account']['club'] = array(
         
'#type' => 'select',
         
'#title' => t('Club'),
         
'#options' => get_lst_club(), // retourne un tableau
         
'#description' => t('Nom du club ou la gymnaste est rattachée'),
        );
       
    }else if(
$form_id == 'user_profile_form'){

       
$form['account']['club'] = array(
         
'#type' => 'select',
         
'#title' => t('Club'),
         
'#default_value' => $form_state['values']['club'],
         
'#options' => get_lst_club(), // retourne un tableau
         
'#description' => t('Nom du club où la gymnaste est rattachée'),
        );
       
       
    }
       
}
?>

ma liste club propose une liste de club à sélectionner quand je crée un nouvel utilisateur. Cependant quand je souhaite modifier un utilisateur l'information affichée par défaut dans la liste des clubs n'est pas la valeur enregistrée mais tout simplement la première de la liste. J'imagine bien que le souci vient de l'argument '#default_value' mais je ne sais pas comment récupérer la valeur précédemment enregistrée !

Avez vous une idée ?

Merci beaucoup

Forum : 
Version de Drupal : 

Salut, quand tu rajoutes des champs au formulaire d'inscription ces champs sont juste là pour de la décoration, les valeurs que tu fais saisir par ton utilisateur ne sont pas sauvegardées, cela signifie qu'une fois que le formulaire affiché la valeur s'envole... à moins que tu ne la sauvegardes !
Pour ce faire, deux solutions s'offrent à toi, la première consiste à ajouter une fonction à executer une fois que le formulaire est validé et soumis, dans cette fonction tu te chargeras de stocker la valeur saisie par ton utilisateur dans une table de ta base de données par exemple. La seconde solution consiste à étendre les fonctionnalités du profil utilisateur à l'aide du module profile (module implémenté par le coeur de Drupal) ou du module "content profile" qui est un module de contribution (http://drupal.org/project/content_profile), tous deux permettent d'ajouter des champs au profil utilisateur. Ils se chargent donc de sauvegarder l'information en base de données.
Je te recommande la deuxième solution et plus particulièrement le module content profile qui permet de manipuler facilement les données (pour Views par exemple).