[Résolu] Recuperer la valeur d'un champ !

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 à tous.

Je débute dans le développement de module :

$form['custom_e-mail_subject'] = array(
'#type' => 'textfield',
'#title' => t('Warning e-mail subject'),
'#default_value' => variable_get('custom_form_e-mail_subject',
'Administrative Warning'),
'#description' => t('The subject of the e-mail which will be sent to users.'),
'#size' => 40,
'#maxlength' => 120,
'#required' => TRUE,
);
// normalement c'est ici qu'on sauvegarde la valeur
variable_set('custom_e-mail_subject', $form_state['values']['custom_e-mail_subject']);

// Submit button
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Enregistrer'),
);
return $form;
}

J'aimerai stocker la valeur du champ quand je click sur enregistrer seulement j'obtient une erreur : Undefined index: values in custom_form() quelqu'un sait pourquoi?

Merci par avance!

Forum : 
Version de Drupal : 

Hello, ce n'est pas vraiment à cet endroit que l'on doit sauvegarder la valeur d'un champ.

Voir ici pour les instructions détaillées : http://drupalfr.org/node/8337

Grosso-modo, tu dois avoir 2 fonctions :

  • une pour définir les champs de ton formulaire

<?php
function mon_formulaire(){
 
$form = array();
 
$form['nom'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Votre nom'),
   
'#required' => TRUE,
  );
 
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('OK'), 
  );
  return
$form;
}
?>
  • une pour récupérer les valeurs à la soumission du formulaire :

<?php
function mon_formulaire_submit($form, &$form_state){
 
variable_set(blablabla);
 
drupal_set_message($form_state['values']['nom']);
 
$form_state['redirect'] = 'node'; // on redirige l'utilisateur sur la page de notre choix !
}
?>

Bon courage !