Passare una varibile Webform dentro un tabella del DB

4 contenuti / 0 new
Ultimo contenuto
Passare una varibile Webform dentro un tabella del DB

Ciao a tutti!

sto cercando di prelevare il valore di un campo Webform e passarlo in una tabella del DB, tramite l'opzione che permette di eseguire codice PHP all'invio della compilazione del modulo.

In primis ho usato le varibili descritte in questo HOW-TO: http://gh0std0g.wordpress.com/2008/02/15/howto-drupal-e-webform/

Quindi ho scritto questo codice:

<?php
if ($form_values['submitted_tree']['newsletter'] == "si");
db_query("INSERT INTO {simplenews_subscriptions} (activated,mail,uid) VALUES (%s,%s,%s)",1,$form_values['submitted_tree']['email'],0);
?>

In pratica se è spuntato il valore "si" in un campo di scelta, il valore di un'altro campo è aggiunto ad una tabella sul db.

La tabella sul Db avrebbe di base 6 campi (di cui il primo con auto increment) ma a me servono solo 3 valori da inserire.

Il codice non da errori ma al momento non funziona.
Non riesco a capire se il problema sia nelle variabili che sto utilizzando o nell'errata richiesta al db.

Qualcuno più esperto vede al volo qualche anomalia?

Ciao e Grazie!

Ad occhio se è una checkbox il valore è TRUE o FALSE (0 o 1), e non "si" o "no".

Poi bisongerebbe vedere la struttura del tuo form per vedere se gli elemneti ahnno quella forma...e sopratutto se stai usando i #tree, altrimenti non puoi tenere i campi:

<?php
$form_values
['submitted_tree']['newsletter'];
?>

ma
<?php
$form_values
['newsletter'];
?>

per fare una cosa veloce attivati il modulo devel e poi
<?php
dpm
($form_values);
?>

Ciao
Marco
--
My blog
Working at @agavee

Ok in primis applico le modifiche che mi hai segnalato... e vedo come va...!!

Posso dirti intanto che si tratta di un campo del modulo Webform "seleziona" a cui ho dato due valori possibili:

si|SI
no|no

Che mi appaiono come due Radio Button.

Per questo stavo usando il valore "si".

grazie

Grazie a Mav... ho raggiunto un primo risultato:

<?php
$emailaut
= $form_values['submitted_tree']['newsletter'];
$emailnews = $form_values['submitted_tree']['email'];
if (
$emailaut == "si"){
db_query("INSERT INTO {simplenews_subscriptions} (snid,activated,mail,uid,language) VALUES (%d,'%d,'%s',%d,'%s')",NULL,1,$emailnews,0,'it');
?>

questo è il codice per estrapolare i dati dal webform e piazzarli dentro un tabella....