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>
展开
 我来答
is8888
推荐于2016-12-01 · TA获得超过695个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:566万
展开全部

几个需要说明的地方:

  1. 我看到你代码里面有一段注释的地方,这里需要取消注释;

  2. 你这段代码的问题出在下面这个地方:

if(!isset($_POST['sub'])){
     $bz=true;
}

    应该改为:

if(isset($_POST['sub'])){
     $bz=true;

    注意:submit按钮在表单提交时,也会被提交。按照理解应该是提交表单的时候进行计算,所以应该是isset($_POST['sub'])的时候进行计算,而你的代码加上了“!”符号,那么逻辑就变成了提交表单的时候不进行计算。所以你得不到结果。


    以后仔细一点,这些问题不应该出现的。

    

楼桖晴U1
2014-11-19 · 超过60用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:90.9万
展开全部
你也太无聊了,确实JS更简单。做学校布置的作业吧?\r\nPHP也容易,就是太没必要了。\r\n提供个思路,你自己写写。如果不用ajax的话,用户体验也很差。每次提交都得刷新页面。\r\n做个表单,提供输入的数字和"+-*\/"符号,然后再做个提交按钮。\r\n提交到php页面做完计算,显示出来就完事了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式