Получить данные из формы

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

Аватар пользователя iboobel iboobel 30 мая 2014 в 18:54

Добрый день! Подскажите как мне получить данные из формы

Я создал форму и вывел ее в блок

<?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 то что ввели в форму.
Подскажите как это сделать?

Комментарии

Аватар пользователя validoll validoll 30 мая 2014 в 20:10

Эм... а при чем тут 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) {}

и там уж отлавливай и делай что хочешь.

Аватар пользователя iboobel iboobel 31 мая 2014 в 12:52

ok, а как из myform_form_submit передать что-то...
В целом мне нужно так - ввести что-то в форму, нажать отправить, при отправке делается переход на конкретную ноду (типа ), а в ней уже сделать манипуляции с данными из формы. Их не нужно записывать в базу, а просто отобразить результат манипуляций.

Аватар пользователя iboobel iboobel 2 июня 2014 в 14:33

Разобрался, я не дочитал про то что можно передать явно $form['#method'] = 'GET'. И тогда можно получить данные через $_GET. Правда с POST не выходит.

UPD:
Для того что бы POST заработал нужно

<?php 
function myform_submit($form, &$form_state) {

$form_state['rebuild'] = TRUE;

}  

?>