0

ユーザーが 3 つのページまたは 3 つのインターフェイス間を移動できるマルチステップ フォームを作成しました。ユーザーが page2 で必要なフォームに入力したら、submit 関数はこの情報を配列に収集し、この配列を次のページに渡してこのページで使用する必要があります。page2 のデータをに送信する適切な方法を探していますsubmit 関数の次のページ

  function my_module_form_submit($form, &$form_state) {
  $data = array(); //array of data that takes data from the current page forms
  switch ($form_state['stage']) { // stage have 3 values(3 id) corresponding to three interfaces of forms

    case 'page1':
      // some simples instructions
     break;
      case 'page2':
         //collect data from page2 forms
         $database_name =$form_state['values']['databasename'];
         $user_name =$form_state['values']['username'];
         $user_pass =$form_state['values']['userpass'];
         $host =$form_state['values']['host'];
         $port =$form_state['values']['port'];
         $database_driver =$form_state['values']['databasedriver'];

         $db_array = array(); // put the data in an array
         $db_array['database'] = $database_name;
         $db_array['username'] = $user_name;
         $db_array['password'] = $user_pass; 
         $db_array['host'] = $host; //localhost
         $db_array['port'] = $port; //localhost
         $db_array['driver'] = $database_driver; //mysql
         // some query after being connected to the database that return an array containing 
         // existing data tables names in the current database(works fine) data tables names are stored in the array $data

     $form_state['multistep_values'][$form_state['stage']] = $form_state['values'];
     $form_state['new_stage'] = my_module_move_to_next_stage($form,$form_state);
     // function that changes the id of current the page to go to the next page: forms
   break;
  case 'page3':
  // some instructions
  break;

  $form_state['multistep_values']['form_build_id'] = $form_state['values']['form_build_id'];
  $form_state['stage'] = $form_state['new_stage']; //change the id of the current page and rebuilt the form with the next page forms
  $form_state['rebuild'] = TRUE;

}

これは私の機能であり、すべて正常に機能しますが、データ配列を次のフォームに渡したいだけです。それを行うための最良の解決策は何でしょうか。

4

1 に答える 1