您拥有的“功能”是服务器端.服务器端代码在数据返回到浏览器之前和之后运行(通常显示为页面,但也可以是
ajax request).
您拥有的表单是客户端.此表单由您的浏览器呈现,并未与您的服务器“连接”,但可以是submit data to the server for processing.
因此,要运行该功能,必须执行以下流程:
>服务器输出带有表单的页面.不需要进行服务器端处理.
>浏览器加载该页面并显示表单.
>用户将数据输入表单
>用户按下提交按钮,使用数据向服务器发送HTTP request.
>处理请求的页面(可能与第一个请求相同)从请求中获取数据,运行您的函数,并将结果输出到HTML页面.
完成所有这些的示例PHP脚本:
function addNumbers($firstNumber, $secondNumber) {
return $firstNumber + $secondNumber;
}
if (isset($_POST['number1']) && isset($_POST['number2'])) {
$result = addNumbers(intval($_POST['number1']), intval($_POST['number2']));
}
?>
Result: <?php echo $result ?>
1-st number:
2-nd number:
请注意:
>即使这些“页面”包含PHP和HTML代码,您的浏览器也不会知道PHP代码是什么.它看到的只是产生的HTML输出.里面的一切由服务器执行(在这种情况下,echo创建此执行的唯一输出),而PHP标记之外的所有内容 – 特别是HTML代码 – 直接输出到HTTP响应.>您会注意到< h1> Result:… HTML代码在PHP if语句中.这意味着第一次传递时不会输出该行,因为没有$result.>因为表单操作没有值,所以表单提交到浏览器已经在的同一页面(URL).