Вытащить параметры с адреса

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

Аватар пользователя Liolya Liolya 2 ноября 2009 в 20:22

Добрый день.
Подскажите пожалуйста, каким образом можно вытащить параметры с адреса страницы. ( например main?p=1&n=2 )
Вытащить мне нужно в функции-строителе формы my_module_my_form. И значение одного из параметров мне нужно передать одному из элементов формы в качестве value.

Комментарии

Аватар пользователя Liolya Liolya 3 ноября 2009 в 9:06

а как мне это значение передать текстовому элементу формы.
то есть $form['text']['value']=$arg(1)
по сабмиту все поля очищаются, а мне нужно их заново заполнить.

Аватар пользователя Liolya Liolya 3 ноября 2009 в 9:35

по сабмиту я делаю drupal_goto('мой адрес с параметрами') далее мне нужно эти параметры занести в текстовые поля формы.
Здесь я полный новичок, только разбираюсь. Выкладываю код модуля

function pereschet_menu() {
  $items = array();
  $items['pereschet/form/%'] = array(
    'title' => 'Перевод единиц',
    'page callback' => 'drupal_get_form',
    'access arguments' => array('access content'),
    'description' => 'Перевод единиц',
    'type' => MENU_CALLBACK,
  );

  return $items;
}

function pereschet_form() {

 
  return drupal_get_form('pereschet_my_form');

}

function pereschet_my_form($form_state) {
 
  $form['metr'] = array(
    '#type' => 'textfield',
    '#description' => t('Введите число. В качестве разделителей целых от десятков используйте точку '),
    '#title' => t('Переводим Метр в Дюйм'),
     '#size' => 20,
      '#maxlength' => 20,
  );
  $form['dum'] = array(
    '#type' => 'textfield',
    '#description' =>t( 'Введите число. В качестве разделителей целых от десятков используйте точку '),
    '#title' => t('Переводим Дюйм в Метр'),
     '#size' => 20,
      '#maxlength' => 20,
  );
   $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Расчитать'),
  );

  return $form;
}

function pereschet_my_form_submit($form, &$form_state) {

  drupal_goto('/main/'.$form_state['values']['metr'].'/'.$form_state['values']['metr']*39);

}

function pereschet_block($op='list', $delta=0) {
 
  if ($op == "list") {
    $block[0]["info"] = t('Пересчет');
    return $block;
  }
  else if ($op == 'view') {
   
   $block_content= drupal_get_form('pereschet_my_form');
    // отображаем блок
    $block['subject'] = 'Пересчет';
    $block['content'] = $block_content;
    return $block;
    }
}