Добрый день! Подскажите как мне получить данные из формы
Я создал форму и вывел ее в блок
<?php
function myform_form($form, &$form_state) {
$form = array();
$form['title'] = array(
'#type' => 'textfield',
'#title' => 'Title',
'#id' => 'Title',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
$form['action'] = 'node/my-node-id';
return
$form;
}
?>
Теперь хочу словить в файле node.tpl.php то что ввели в форму.
Подскажите как это сделать?
Комментарии
Эм... а при чем тут node.tpl.php и словить? Ловить надо через сабмит или валидацию, в зависимости от требований.
$form['#validate'][] = 'myform_form_validate';
...
function myform_form_validate($form, &$form_state) {}
или
$form['#submit'][] = 'myform_form_submit';
...
function myform_form_submit($form, &$form_state) {}
и там уж отлавливай и делай что хочешь.
ok, а как из myform_form_submit передать что-то...
В целом мне нужно так - ввести что-то в форму, нажать отправить, при отправке делается переход на конкретную ноду (типа ), а в ней уже сделать манипуляции с данными из формы. Их не нужно записывать в базу, а просто отобразить результат манипуляций.
Разобрался, я не дочитал про то что можно передать явно $form['#method'] = 'GET'. И тогда можно получить данные через $_GET. Правда с POST не выходит.
UPD:
Для того что бы POST заработал нужно
<?php
function myform_submit($form, &$form_state) { $form_state['rebuild'] = TRUE;
}
?>