PHP中使用开关盒的计算器
我已经使用PHP中使用开关盒的计算器,php,html,Php,Html,我已经使用PHP中的if语句创建了一个计算器,并且能够获得所需的输出。 我被开关箱卡住了。我没有得到我想要的输出 这是我的代码: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> <?php $num1 =
PHP
中的if
语句创建了一个计算器,并且能够获得所需的输出。
我被开关箱卡住了。我没有得到我想要的输出
这是我的代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<?php
$num1 = "";
$num2 = "";
$calc = "";
if (isset($_POST['submit']))
{
$num1 = $_POST['n1'];
$num2 = $_POST['n2'];
function calculate($num1,$num2,$calc){
switch ($_POST['submit']) {
case 'addition':
$calc = $n1 + $n2;
break;
case 'sub':
$calc = $n1 - $n2;
break;
}
}
}
?>
</head>
<body>
<form action="" method="post">
NO 1 : <input name='n1' value="<?php echo $num1;?>">
<br><br>
NO 2: <input name='n2' value="<?php echo $num2?>"><br><br>
total: <input type="res" value="<?php echo $calc;?>"><br><br>
<input type="submit" name="submit" value="+">
<input type="submit" name="submit" value="-">
</form>
</body>
</html>
无标题文件
第一:你的代码中有很多错误。像
1) 您已声明函数,但从未调用它
2) 变量名问题
3) 提交按钮值和开关盒不匹配等
您需要更改代码,如下所示:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<?php
$num1 = "";
$num2 = "";
$calc = "";
if (isset($_POST['submit']))
{
$num1 = $_POST['n1'];
$num2 = $_POST['n2'];
function calculate($num1,$num2){
$calc = "";
switch ($_POST['submit']) {
case 'addition':
$calc = $num1 + $num2;
break;
case 'sub':
$calc = $num1 - $num2;
break;
}
return $calc;
}
$calc = calculate($num1,$num2);
}
?>
</head>
<body>
<form action="" method="post">
NO 1 : <input name='n1' value="<?php echo $num1;?>">
<br><br>
NO 2: <input name='n2' value="<?php echo $num2?>"><br><br>
total: <input type="res" value="<?php echo $calc;?>"><br><br>
<input type="submit" name="submit" value="addition">
<input type="submit" name="submit" value="sub">
</form>
</body>
</html>
无标题文件
1号:1)您已经给出了提交值+
&-
2) 无论何时提交表单,它都会采用POST
值中的值+
&-
3) 在switch case中,您提到了以下情况:添加
&子
,其中您的post值具有+
&-
。这不能满足任何情况
4) 只需将表单输入值中的+
和-
分别替换为加法
&子
,如下所示
<input type="submit" name="submit" value="addition">
<input type="submit" name="submit" value="sub">
您将“+”和“-”传递到开关中,大小写为“加法”和“sub”。
它们不匹配。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<?php
$num1 = 0;
$num2 = 0;
$calc = 0;
if (isset($_POST['submit']))
{
$num1 = $_POST['n1'];
$num2 = $_POST['n2'];
$calc = calculate($num1, $num2, $_POST['submit']);
}
function calculate($num1,$num2,$op)
{
$calc = 0;
switch ($op)
{
case '+':
$calc = $num1 + $num2;
break;
case '-':
$calc = $num1 - $num2;
break;
}
return $calc;
}
?>
</head>
<body>
<form action="" method="post">
NO 1 : <input name='n1' value="<?php echo $num1;?>">
<br><br>
NO 2: <input name='n2' value="<?php echo $num2;?>"><br><br>
total: <input name="res" value="<?php echo $calc;?>"><br><br>
<input type="submit" name="submit" value="+">
<input type="submit" name="submit" value="-">
</form>
</body>
</html>
无标题文件
这里有问题吗?两个元素不能使用相同的名称。创建数组或更改提交名称