[英]Calculator using switch case in PHP
我已經在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)每當您提交表單時,它的POST
值都為+
& -
。
3)在切換情況下,您提到的情況是: addition
& sub
,其中您的帖子值具有+
& -
。 這不滿足任何情況。
4)只需更換您的+
和-
與addition
與sub
分別在類似這樣的表單輸入值
<input type="submit" name="submit" value="addition">
<input type="submit" name="submit" value="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>
您的代碼中有很多錯誤。 喜歡
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>
您將“ +”和“-”傳遞到開關,大小寫為“加法”和“子”。 它們不匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.