PHP做的简单计算器,不知道咋回事就是计算不出来,大神帮忙看看咋回事?
<!doctypehtml><html><head><metacharset="utf-8"><title>无标题文档</title></head><?phperror_...
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<?php
error_reporting(E_ALL & ~E_NOTICE);
/*$num1=$_POST['num1'];
$num2=$_POST['num2'];
$ysf=$_POST['ysf'];*/
var_dump($_POST);
if(!isset($_POST['sub'])){
$bz=true;
}
//计算的过程
if($bz){
$sum="";
//判断用户选择的是哪个预算付
switch ($ysf) {
case "+":$sum=$_POST['num1']+$_POST['num2'];break;
case "-":$sum=$_POST['num1']-$_POST['num2'];break;
case "×":$sum=$_POST['num1']*$_POST['num2'];break;
case "/":$sum=$_POST['num1']/$_POST['num2'];break;
case "%":$sum=$_POST['num1']%$_POST['num2'];break;
}
}
?>
<body>
<table border="0" width="400" align="center">
<form action="jsq.php" method="post">
<caption>简单计算器</caption>
<tr>
<td>
<input type="text" name="num1" size="5">
</td>
<td>
<select name="ysf">
<option value="+" selected="$_POST[$ysf]">+</option>
<option value="-" selected="$_POST[$ysf]">-</option>
<option value="×" selected="$_POST[$ysf]">×</option>
<option value="/" selected="$_POST[$ysf]">/</option>
<option value="%" selected="$_POST[$ysf]">%</option>
</select>
</td>
<td>
<input type="text" name="num2" size="5">
</td>
<td>
<input type="submit" value="计算" name="sub">
</td>
</tr>
<tr colspan="4">
<td>
<?php
echo "计算结果:{$_POST['num1']}{$_POST['ysf']}{$_POST['num2']}={$sum}";
?>
</td>
</tr>
</form>
</table>
</body>
</html> 展开
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<?php
error_reporting(E_ALL & ~E_NOTICE);
/*$num1=$_POST['num1'];
$num2=$_POST['num2'];
$ysf=$_POST['ysf'];*/
var_dump($_POST);
if(!isset($_POST['sub'])){
$bz=true;
}
//计算的过程
if($bz){
$sum="";
//判断用户选择的是哪个预算付
switch ($ysf) {
case "+":$sum=$_POST['num1']+$_POST['num2'];break;
case "-":$sum=$_POST['num1']-$_POST['num2'];break;
case "×":$sum=$_POST['num1']*$_POST['num2'];break;
case "/":$sum=$_POST['num1']/$_POST['num2'];break;
case "%":$sum=$_POST['num1']%$_POST['num2'];break;
}
}
?>
<body>
<table border="0" width="400" align="center">
<form action="jsq.php" method="post">
<caption>简单计算器</caption>
<tr>
<td>
<input type="text" name="num1" size="5">
</td>
<td>
<select name="ysf">
<option value="+" selected="$_POST[$ysf]">+</option>
<option value="-" selected="$_POST[$ysf]">-</option>
<option value="×" selected="$_POST[$ysf]">×</option>
<option value="/" selected="$_POST[$ysf]">/</option>
<option value="%" selected="$_POST[$ysf]">%</option>
</select>
</td>
<td>
<input type="text" name="num2" size="5">
</td>
<td>
<input type="submit" value="计算" name="sub">
</td>
</tr>
<tr colspan="4">
<td>
<?php
echo "计算结果:{$_POST['num1']}{$_POST['ysf']}{$_POST['num2']}={$sum}";
?>
</td>
</tr>
</form>
</table>
</body>
</html> 展开
2个回答
展开全部
几个需要说明的地方:
我看到你代码里面有一段注释的地方,这里需要取消注释;
你这段代码的问题出在下面这个地方:
if(!isset($_POST['sub'])){
$bz=true;
}
应该改为:
if(isset($_POST['sub'])){
$bz=true;
}
注意:submit按钮在表单提交时,也会被提交。按照理解应该是提交表单的时候进行计算,所以应该是isset($_POST['sub'])的时候进行计算,而你的代码加上了“!”符号,那么逻辑就变成了提交表单的时候不进行计算。所以你得不到结果。
以后仔细一点,这些问题不应该出现的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询