我绝对是web技术的初学者。我知道我的问题很简单,但我不知道该怎么做。例如,我有一个函数:
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。
发布于 2011-05-12 01:43:33
您拥有的“功能”是服务器端。服务器端代码在将数据返回到浏览器(通常显示为页面,但也可以是ajax request)之前运行。
您拥有的表单是客户端。此表单由您的浏览器呈现,并不“连接”到您的服务器,但可以。
因此,要运行该函数,必须执行以下流程:
下面是一个示例PHP脚本,它可以完成所有这些任务:
<?php
function addNumbers($firstNumber, $secondNumber) {
return $firstNumber + $secondNumber;
}
if (isset($_POST['number1']) && isset($_POST['number2'])) {
$result = addNumbers(intval($_POST['number1']), intval($_POST['number2']));
}
?>
<html>
<body>
<?php if (isset($result)) { ?>
<h1> Result: <?php echo $result ?></h1>
<?php } ?>
<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>
</body>
</html>
请注意:
PHP
<?php ... ?>
内部的所有内容都是由服务器执行的(在本例中,echo
创建了这次执行的唯一输出),而<h1>Result:...
标记之外的所有内容-特别是HTML代码-都输出到HTTP响应directly.$result
.action
没有值,表单提交到浏览器已在的相同页面。发布于 2011-05-12 01:38:36
您需要从$_POST
变量中收集这些值,并将它们传递给函数。
if ($_POST) {
$number_1 = (int) $_POST['number1'];
$number_2 = (int) $_POST['number2'];
echo addNumbers($number_1, $number_2);
}
但是,需要注意的是,您不应该信任用户输入,因此需要验证和清理您的输入。
发布于 2011-05-12 01:48:22
尝尝这个。
<?php
function addNumbers($firstNumber, $secondNumber)
{
if (isset($_POST['number1']) && isset($_POST['number2']))
{
$firstNumber = $_POST['number1'];
$secondNumber = $_POST['number2'];
$result = $firstNumber + $secondNumber;
echo $result;
}
}
?>
<form action="urphpfilename.php" method="post">
<p>1-st number: <input type="text" name="number1" /></p>
<p>2-nd number: <input type="text" name="number2" /></p>
<?php addNumbers($firstNumber, $secondNumber);?>
<p><?php echo $result; ?></p>
<p><input type="submit"/></p>
https://stackoverflow.com/questions/5968280
复制相似问题