Toutes les soumettre fonctions reçoivent deux paramètres qui leur sont transmises: formulaire de $, ce qui est le tableau de forme définitive après que tous les ajustements pour hook_form_alter et similaires et form_state $ qui, entre autres valeurs contient les valeurs soumises, qui ont été nettoyés et vérifiés pour les gammes. (Par exemple, si vous avez trois éléments dans une boîte de sélection, les données dans $ form_state ['values'] ont déjà fait en sorte que la valeur de cette entrée soit l'une des trois valeurs légales.)
Généralement, vous ne devrait pas utiliser $ form ['# post'] - cela ne fait pas partie de la méthode publiée pour obtenir des valeurs, et une mise à jour du noyau pour gérer un problème avec FAPI pourrait théoriquement casser votre code.
Essayez ceci:
function mymodule_myfunction($form, &$form_state) {
drupal_set_message(t('Some Message @title'),
array('@title' => $form_state['values']['title'])));
}
Notez l'utilisation corrigée de la fonction t() - l'intention de cette fonction est de permettre à d'autres utilisateurs de traduire le texte, et ainsi en utilisant « Some Message @title » le traducteur sait plus sur ce qui se passe. De plus, vous obtenez l'avantage que le texte alimenté par la fonction t de cette manière est également alimenté par check_plain(), ce qui empêche quelqu'un de faire quelque chose de malveillant avec l'entrée.
vérifiez pour voir à quoi ressemble vraiment le module $ form. Si vous avez installé le module devel, vous pouvez faire quelque chose comme dsm ($ form) pour voir cette variable. – dkinzer