Forms API. Comment insérer les données dans la base ?

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.

Salut les amis,

J'ai crée un formulaire avec Forms API. Pour insérer les données j'ai utilisé le hook _submit.

Voila mon code :

function propose_weblink_form_submit(){
  db_query("insert into {tbl_bidon} (name, prenom) values ('%s', '%s')", $form_values['id_auteur_saisi'], $form_values['nom_site']);
   drupal_set_message(t('Your form has been saved.'));
}

Sur clique de bouton "Enregistrer", je reçoit le message de confirmation "Your form has been saved.". Mais quand je regarde dans la base, les données ne sont pas inséré.

Est-ce qqun a un idée ce qui ne va pas ??

Merci

Hello,

Si tu as utilisé le code ci-dessus tel quel, la signature de ta fonction n'est pas correcte, tu dois la remplacer par :

<?php
function propose_weblink_form_submit($form_id, $form_values)
?>

Autrement dit : il faut passer les arguments $form_id et $form_values à ta fonction.

Par ailleurs, tu peux faire un drupal_set_message("INSERT ...") pour voir précisément la requête qui est passée à la BDD.