2

drupal_mail 関数を初めて使用するので、助けが必要です。私が持っているコードは機能しますが、セキュリティ ホールを制限するために $_POST パラメータを削除したいと考えています。

$_POST パラメーターを使用せずに投稿された変数を取得する方法がわかりません。理想的には、各パラメーターを個別に指定してカスタム ラベルを付けたいと考えています。

どんな助けでも大歓迎です。

    function revenue_calculations() {

    $block = array();
$a = $b = $c = '';
    $errors = array();
    $output = '';
if (isset($_POST)) {

    if (isset($_POST['a'])) $a = (int) round($_POST['a']);
    if (isset($_POST['b'])) $b = (int) round($_POST['b']);
    if (isset($_POST['c'])) $c = (int) round($_POST['c']);

    if (!empty($a) && !empty($b)&& !empty($c)) {

        $calc1 = $a * ($b/100);
        $calc2 = $calc1 * ($c/100);
        $calc3 = $calc2 * .65 * .99;
        $display = '$'.number_format($calc3,2);

////// throw in a drupal_mail send, with the form details  //////
function calculator_mail($key, &$message, $params) {
switch ($key) {
case 'calculation':
  $message['subject'] = t('CALCULATION DONE');
  foreach ($params as $key=>$value) {
    $message['body'][] = $key.': '.check_plain($value);
  }
  break;    
  }
}

drupal_mail('calculator', 'calculation', 'xxx@xxx.com', language_default(), $_POST);


        $output = "Your result is $display;

    }

}
$output .= revenue_calculator();
return $output;

}
4

1 に答える 1