如何从HTML表单运行PHP函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

我是网络技术的绝对初学者。我知道我的问题很简单,但我不知道怎么做。例如,我有一个功能:

function addNumbers($firstNumber, $secondNumber)
{
    echo $firstNumber + $secondNumber;
}

我有一个表格:

<form action="" method="post">
<p>1-st number: <input type="text" name="number1" /></p>
<p>2-nd number: <input type="text" name="number2" /></p>
<p><input type="submit"/></p>

如何在我的文本字段中输入变量并通过按下按钮并按下我写入文本字段的参数来调用我的函数?例如,我写了5 - 第一个文本字段,10秒文本字段,然后我点击按钮,我在同一页面上得到结果15。 编辑 我试过这样做:

$num1 = $POST['number1'];
$num2 = $POST['number2'];
addNumbers($num1, $num2);

但它不起作用,答案总是0。

提问于
用户回答回答于

您需要从$_POST变量中收集值并将它们传递给函数。

if ($_POST) {
  $number_1 = (int) $_POST['number1'];
  $number_2 = (int) $_POST['number2'];
  echo addNumbers($number_1, $number_2);
}

但是,请注意,您不应该信任用户输入,因此需要验证和清理您的输入。

用户回答回答于

变量将在$ _POST变量中。

要将其解析为您需要执行此操作的函数:

addNumbers($_POST['number1'],$_POST['number2']);

确保检查输入,用户可以添加他们想要的任何内容。例如,使用is_numeric()函数

$number1 = is_numeric($_POST['number1']) ? $_POST['number1'] : 0;

另外,不要在函数内部回显,最好将其返回:

function addNumbers($firstNumber, $secondNumber)
{
    return $firstNumber + $secondNumber;
}

// check if $_POST is set
if (isset($_POST['number1']) && isset($_POST['number2']))
{
    $number1 = is_numeric($_POST['number1']) ? $_POST['number1'] : 0;
    $number2 = is_numeric($_POST['number2']) ? $_POST['number2'] : 0;

    echo addNumbers($_POST['number1'],$_POST['number2']);
}

扫码关注云+社区

领取腾讯云代金券