2017-08-03 67 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

考慮到函數名爲'Math'並且兩個變量看起來像是數字,我認爲連接可能不是目標。 (但是,然後,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); 
} 
?>