php加法计算器问题
<?php$number1=0;$number2=0;if(isset($_POST['Submit'])and$_POST['number1']!=nulland$_P...
<?php
$number1=0;
$number2=0;
if(isset($_POST['Submit']) and $_POST['number1']!=null and $_POST['number2']!=null and $_POST['Submit']=="等于"){
$number3=$_POST['number1']+$_POST['number2'];
}else{
$number3=null;
}
?>
<form action="" method="POST">
<input name="number1" type="text" size="10" value="<?php echo $number1?>"/>
<input name="number2" type="text" size="10" value="<?php echo $number2?>"/>
<input type="submit" name="Submit" value="等于">
<input name="number3" type="text" id="number3" size="10" value="<?php echo $number3?>"/>
</form>
显示完这些不出错,但是每次输入后,按下等于,先前输入的值都变成0了,但是如果没有
$number1=0;
$number2=0;
两句的话,网站运行又会出错,咋整? 展开
$number1=0;
$number2=0;
if(isset($_POST['Submit']) and $_POST['number1']!=null and $_POST['number2']!=null and $_POST['Submit']=="等于"){
$number3=$_POST['number1']+$_POST['number2'];
}else{
$number3=null;
}
?>
<form action="" method="POST">
<input name="number1" type="text" size="10" value="<?php echo $number1?>"/>
<input name="number2" type="text" size="10" value="<?php echo $number2?>"/>
<input type="submit" name="Submit" value="等于">
<input name="number3" type="text" id="number3" size="10" value="<?php echo $number3?>"/>
</form>
显示完这些不出错,但是每次输入后,按下等于,先前输入的值都变成0了,但是如果没有
$number1=0;
$number2=0;
两句的话,网站运行又会出错,咋整? 展开
3个回答
展开全部
通过POST来判断,两个提交过来的价值,用+法对两个值进行相加。得出最后的值。
<?php
if($_POST['sub']){
if(!empty($_POST['plus']) && !empty($_POST['red'])){
$plus = $_POST['plus'];
$red = $_POST['red'];
$and = $plus+$red;
}else{
echo "所有数值均不能为空";
}
}
?>
<form action="" method="POST">
<input type="text" name="plus" value="<?php echo $plus?>">+
<input type="text" name="red" value="<?php echo $red?>">
<input type="submit" name="sub" value="等于">
<input type="text" value="<?php echo $and?>">
</form>
<?php
if($_POST['sub']){
if(!empty($_POST['plus']) && !empty($_POST['red'])){
$plus = $_POST['plus'];
$red = $_POST['red'];
$and = $plus+$red;
}else{
echo "所有数值均不能为空";
}
}
?>
<form action="" method="POST">
<input type="text" name="plus" value="<?php echo $plus?>">+
<input type="text" name="red" value="<?php echo $red?>">
<input type="submit" name="sub" value="等于">
<input type="text" value="<?php echo $and?>">
</form>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当你submit后,页面就会刷新,所以number1和number2就会按照你的设定重新赋值为0;
你可以在php中post的判断语句中加上两个赋值:
$number1 = $_POST['number1'];
$number2 = $_POST['number2'];
这样就正常了
更多追问追答
追问
如果下面不用form,而是用label要怎么做呢?
追答
一般来说,你这个小功能用jq来做更方便!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$_POST['number1']+$_POST['number2'];你这里取到的是字符 不是数字!所以要转化为数字的
$number3
=floatval($_POST['number1'])+floatval($_POST['number2']);
$number3
=floatval($_POST['number1'])+floatval($_POST['number2']);
追问
你改的不影响结果的,我只做整数,我现在的问题是,初始化为0后,显示结果,先前的值就会变为0,但是不初始化又会出错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询