2017-08-03 7 views
-1

HTMLフォームを作成し、phpで関数を処理したいと考えています。HTMLフォームを関数に処理する

私のindex.php

<form action="process.php" method="GET"> 
    <input type="text" name="number"> 
    <br/> 
    <input type="text" name="age"> 
    <br/> 
    <button type="submit">Send</button> 
</form> 

マイprocess.php

<?php 
$number = htmlspecialchars($_GET["number"]); 
$age = htmlspecialchars($_GET["age"]); 

function Math ($number, $age) { 
    $result = $number + $age; 
    echo $result; 
} 

Math(); 
?> 

それが動作しない理由は、私がうまくできないのですか?

+1

なぜ入力引数に 'htmlspecialchars'を使用しますか?あなたはHTMLに出力するためだけに使用する必要があります –

+0

私はちょうどPHPで始まったので、確かに私は誰かがそれをやっているのを見たと思います訂正のためにありがとう – pawelk

答えて

2

関数呼び出しでパラメータを設定する必要があります。また、連結するのに+の代わりに.を使用する必要があります。

<?php 
$number = htmlspecialchars($_GET["number"]); 
$age = htmlspecialchars($_GET["age"]); 

function Math ($number, $age) { 
    $result = $number . $age; 
    echo $result; 
} 

Math ($number, $age); 
?> 
+0

それはうまくいけばいいですが、関数の呼び出し時に後で指定する必要がある場合は関数の引数に2つの変数を入れる) – pawelk

+0

関数が「数学」と呼ばれ、2つの変数がおそらく数値のように見えるので、私は連結はおそらく目標ではないと思う。 (しかし、その後、OPはそれが動作すると言いますので、私はそれを第二に推測すべきではないと思います) –

+0

私は実際にそれらを追加したい – pawelk

1

あなたは、関数呼び出しのパラメータが渡されていない:

Math($number,$age); 

あなたは他のISSETそれはときに、ページのロード初めての誤差を与えるでしょうかどうかを確認する必要があります。常に関数から復帰しようとする。

<?php 
if(isset($_GET["number"]) && isset($_GET["age"])) { 

    $number = htmlspecialchars($_GET["number"]); 
    $age = htmlspecialchars($_GET["age"]); 

    function Math ($number, $age) { 
    $result = $number + $age; 
    return $result; 
    } 

    echo Math($number, $age); 
} 
?> 
関連する問題