프로그래밍 노드생성과 변수전달에 관한 질문이 있습니다.

안녕하세요 드루지기님!
요즘 한창작업하는것중 하나가.. 하나의 폼에서 노드를 만들때
설정값에따라 다른 노드가 복사되는것을 만들고 있는데요.
변수전달과정에 이해가 안되는것이 있습니다.

작성중인 컨텐트의 저장을 누를때마다 같은값의 노드가 복사되는 과정은 프로그래밍 했고 잘 동작합니다.
그런데 여기서 복사되는 노드의값에 약간의 변화를 주고 싶은데요.
컨텐츠타입 Form 에 임으로 만든 input 폼이 있고 (드루팔 DB 엔 포함안시킴)
여기에 변수를 주어서 복사되는 노드값에 변화를 주고 싶습니다.

예를들면 날짜필드엔 오늘날짜가 들어가야 하는데, 추가 input 에 넣은값으로
복사되는 노드의 날짜값이 바뀌는것이죠.

임의의 모듈을 만들어 거기에 노드복사 함수를 만들어 특정 컨텐트타입이 submit 될때마다 복사가 됩니다.
값은 $form_state 에 저장된 노드의 값이 들어있어 가져다 쓰면 되는데..
임의로 만든 변수를 어떻게 전달해야 할지 감이 안잡힙니다.

제가 생각한 방식은 이렇습니다.
1. $form_state[] 에 변수를 입력하는 방법을 찾는다.
2._GET["$variable"] 을 이용하여 URL 로 변수를 전달시킴.

form 과 node 사이 혹은 모듈과 node 사이에 변수전달방식에 관한 도움을 좀 받을수있을까요?

처음 답변 단 것이 좋지 않아 다시 조사해

처음 답변 단 것이 좋지 않아 다시 조사해 봤습니다.

아래 주소에 힌트가 있습니다.

This sample creates a "multistep" form with two pages.
http://drupal.org/node/717750

위 페이지의 예제 소스 아래 부분에,
다음과 같은 부분이 페이지간 변수 전달에 유용할 듯 합니다.

    // Values below in the $form_state['storage'] array are saved
    // to carry forward to subsequent pages in the form.
    $form_state['storage']['page_one_values'] = $form_state['values'];

답변 감사합니다. 아직 하나 이해가 안되는게

답변 감사합니다. 아직 하나 이해가 안되는게 있습니다.
임의로 form 을 아래와 같이 만들었습니다.
$form['test'] = array(
'#type' => 'textfield',
'#title' => t('test'),
);
그런데 여기서 입력된 값을 찾아낼수가 없네요. (아직 개념이 안잡힌것 같습니다.)
다른 예로
variable_set($name, $value) 을 이용한 변수전달을 찾아냈는데요.
작동은 하지만 마찬가지로 input 이나 $form['test'] 에서 입력된 값을 찾아낼수가 없어 값들이 변수로 전달될수가 없습니다.
임의로 만든 폼들이니 $node 에 입력안된것은 당연했구요.
따로

을 찾을수가 없어 값들을 get 이나 post 로 넘겨줄수도 없었습니다.
jQuery 로 억지로 변수를 넘길수는 있겠지만.. 좀더 간단한 방법은 없는지 알고싶습니다.

드루팔 폼 변수를 통해서 넘기는 법은, (이미 아실


드루팔 폼 변수를 통해서 넘기는 법은,
(이미 아실 것 같은데 혹시나 해서 기록합니다만)

function test_menu() {
  $item['test'] = array(
    'title' => 'test form',
    'page callback' => 'test_main',
    'access arguments' => array('do test'),
    'description' => 'test form',
  );
  return $item;
}

function test_main() {
  return drupal_get_form('test_myform');
}

function test_myform() {

  $form = array();
  $form['폼_변수1'] = array(
    '#title' => 'Name',
    '#type' => 'textfield',
    '#default_value' => '디폴트 값',
    '#description' => '이름을 입력해 주세요',
  );

  $form['폼_변수2'] = array(
  ... ... 
  );

  return $form;
}

function test_myform_submit($form, &$form_state) {
 
   drupal_set_message(
    "<div>name:{$form_state['values']['폼_변수1']}</div>\n" .
    "<div>2nd:{$form_state['values']['폼_변수2']}</div>\n" .
  );
}

이렇게 하는 것이 원하시는 방식이 아니라면
$_SESSION을 이용하는 것도 한 방법일 것 같습니다만,
추천하지는 않습니다. $_GET이 번거롭기는 해도
더 안전한 방식이라고 생각합니다.