как передать данные из одной формы в другую?

Главные вкладки

Аватар пользователя roll roll 21 декабря 2010 в 15:41

Подскажите в реализации многостраничной формы использую для хранения данных
форм $_SESSION[] все работает когда пользователь не анонимен, как
оказалось $_SESSION[] для анонимных пользователей записывается со второго раза
что приводит к повторному выводу первой формы для анонимных пользователей можно ли это обойти?

<?php
    
switch ($_SESSION['form_id']['step']) {
        case 
2:
            return 
$output drupal_get_form('form_2');
            break;
        default:
            
$output .= drupal_get_form('form_1');
            break;
    }
?>

понимаю что можно всю обработку засунуть в один drupal_get_form и использовать $form_state['storage']

<?php
        $output 
.= drupal_get_form('form_1');
    ......
        function 
form_1(){
          switch(
$form_state['storage']['step']) {
          case 
2:
            return 
$output form_2();
            break;
          default:
            
$output .= form_1();
            break;
         }
    }
    ......
?>

но можно ли все это сделать через $_SESSION[] для анонимных пользователей?
И если сессии обойти не возможно и придется переписывать код то как грамотнее передать
данные из формы в форму?

Комментарии

Аватар пользователя roll roll 21 декабря 2010 в 17:43

"clevermaks" wrote:
Передавай через $form_state['storage']['name']

как можно передать $form_state['storage']['name']- первой формы[form_1] в другую форму(form_2) аргументы или
есть другие стандартные возможности или как?