1

Codeigniterコントローラーに入るPHPで電卓を構築しようとしています。数字を取得するhtmlのフォームがあります。

 <!DOCTYPE html >

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calculator</title>
</head>

<body>
    <form action="calc.php" method="POST">
        <input type="text" name="num1">
        <input type="text" name="num2">
        <input type="text" name="num3">
        <input type="submit" value="Calculate">

        <?php echo form_close();?>

    </form>

</body>
</html>

計算機が動作する数式があり、calc.php ページにレイアウトしようとしました。

if (isset($_POST['value']))
{
    $num1 = $_POST["num1"];
    $num2 = $_POST["num2"];
    $num3 = $_POST["num3"];
}


function calculate()
{ 
    $c = $num1/50;

    $b = $num2/12;

    $s = $num3/5;

    $p = $c + $b - $s;

    if($s > 4)
    {
        $s= 4;
    }
}


    echo $c." + ".$b." - ".$s = ";
    echo $p;

私はこれを完全に正しく行っているとは思いません。すべての助けに大歓迎です。

4

3 に答える 3

1

いくつかのコードを修正しました。お役に立てば幸いです。

function calculate($num1, $num2, $num3)
{ 
   $data = array() ;

   $data['c'] = $num1 / 50;
   $data['b'] = $num2 / 12;
   $data['s'] = $num3 / 5;
   $data['p'] = $data['c'] + $data['b'] - $data['s'];

    if($data['s'] > 4)
    {
        $data['s']= 4;
    }
    return $data ;
}

if (isset($_REQUEST['value'])) //Additional checks should be done tho.
{
    $num1 = $_REQUEST["num1"];
    $num2 = $_REQUEST["num2"];
    $num3 = $_REQUEST["num3"];

    $data = calculate($num1, $num2, $num3) ;
    echo "{$data['c']} + {$data['b']} - {$data['s']} = {$data['p']}" ;
}
于 2013-06-20T17:39:57.470 に答える
0

いくつか間違っていることがあります:

  1. 実際に関数を呼び出しているわけではありません。
  2. 関数から何も返していません (厳密には必要ではありませんが、ここでは適切と思われます)。
  3. 関数スコープで定義されていない変数を関数で使用しています。

関数変数のスコープの詳細については、マニュアルを確認してください。

于 2013-06-20T17:35:42.713 に答える