Drupal フォーム送信後のDB登録とRedirect
questionnaireというテーブルがあり、
uid:int
form:text
question:text
choice:text
のフィールドで構成されているとすると、こんな感じ。
function FORM_NAME_submit($form, &$form_state) { $form_values = $form_state['values']; $form_keys = array_keys($form_values); $form_id = $form_values['form_id']; foreach ($form_values as $key => $value){ if($key != "op" && $key != "submit" && $key != "form_build_id" && $key != "form_token" && $key != "form_id" ) db_query("INSERT INTO {questionnaire} (uid, form, question, choice) VALUES (%d, '%s', '%s', '%s')", get_uid(), $form_id, $key, $value); } $form_state['redirect'] = "content/form-submitted"; }
最後は、$form_state['redirect']でリダイレクト先を指定する。