您在這裡

取得表單送出的值並運算呈現的網頁要怎麼寫比較好?

adonis's 的頭像
adonis 在 2011-06-30 (四) 22:05 發表

小弟想完全利用drupal寫一個類似求圓面積的網頁

本來php網頁寫法如下:
==a.html==

<~form action="cal.php" method="post" ~>
  <~input type="text" name="rrr" ~>
  <~input type="submit" value="send"~>
<~/form~>

==cal.php==

<?php
$AAA = $rrr * $rrr * 3.14;
echo $AAA;
?>

現在想學著完全利用drupal來做...
我試過直接寫在一般頁面的內文, 輸入格式選PHP code
結果看到表單但是送出資料後看不到結果.

又試著利用webform做表單,
但送出後要如何取得資料來做運算,
並顯示運算的結果?
我曾在webform 的 Forms settings / Submission settings / Additional processing: 欄位中
利用
$rrr = $form_state[values][submitted][1];
取得表單欄位的值並做運算,
但是要怎麼把運算結果在使用者送出後呈現在頁面上?

請問這個簡單的小程式網頁在drupal要怎麼做會比較好??
麻煩各位前輩教導一下...感謝

<?php

function circle_pie_menu() {
$items = array();
$items['circle_pie'] = array( // menu URL = 網址
'title' => t('Calc area'), // 標題
'page callback' => 'drupal_get_form',
'page arguments' => array('circle_pie_form'), // 呼叫下面同名的 FORM
'access arguments' => array('access content'), // 權限
'type' => MENU_CALLBACK,
);
return $items;
}

function circle_pie_form(&$form_state) {
$form['radius'] = array( // 定義一個 INPUT
'#type' => 'textfield',
'#title' => t('Radius'),
);
$form['submit'] = array( // 定義一個 SUBMIT BUTTON
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
}

function circle_pie_form_submit($form, $form_state) { // 按下 SUBMIT 後,處理數據
$radius = $form_state['values']['radius'];
$area = $radius * $radius * M_PI;

drupal_set_message($area); // Output ................etc

}
?>

大概這樣,你自個兒研究研究 :)