请老师检查代码 ,我感觉我的代码有问题
来源:1-17 编程练习
心脏_是有多脏
2019-09-01 13:28:00
<!DOcTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
</head>
<body>
<h1>计算器</h1>
<form action="#" method='post'>
数值1:<input type="text" name="number1" id="">
op:<select calss="" name="op">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
<option value="%">%</option>
</select>
数值2:<input type="text" name="number2" id="">
<hr />
<input type="submit"name="car" value="计算">
</form>
<?php
$enmu1=$_POST['number1'];
$enmu2=$_POST['number2'];
$num=$_POST['op'];
$car=$_POST['car'];
if($car){
if(is_numeric($number1)&&$is_numeric($number2)){
if($num=='+'){
$res=$enmu1+$enmu2;
}else if($num=='-'){
$res=$enmu1-$enmu2;
}else if($num=='*'){
$res=$enmu1*$enmu2;
}else if($num=='/'){
if($nmu2!=0){
$res=$enmu1/$enmu2;
}else{
exit ('0不能作为除数');
}
}else if($num=='%'){
$res=$enmu1%$enmu2;
}else {
exit( '非法操作字符');
}
echo'运算结果:<br />{$enmu1}{num}{$enmu2}={$res}';
}else{
exit('非法操作');
}
}
?>
</body>
</html>
1回答
好帮手慕小尤
2019-09-01
同学你好,1. 在运行代码时会报未找到变量的错误。如图所示:

同学可以先判断是否是post传值再进行赋值。
2. 同学使用未定义的变量进行判断导致报错,并is_numeric函数错误,如图所示:

3. 同学使用单引号未输出变量。修改代码如下:
<?php
// 先判断是否是post传值
if($_POST){
$enmu1=$_POST['number1'];
$enmu2=$_POST['number2'];
$num=$_POST['op'];
// 使用定义的变量进行判断$enmu1
// is_numeric函数使用前不用加$符
if(is_numeric($enmu1)&&is_numeric($enmu2)){
if($num=='+'){
$res=$enmu1+$enmu2;
}else if($num=='-'){
$res=$enmu1-$enmu2;
}else if($num=='*'){
$res=$enmu1*$enmu2;
}else if($num=='/'){
// 使用定义的$enmu2进行判断,
if($enmu2 != 0){
$res=$enmu1/$enmu2;
}else{
exit ('0不能作为除数');
}
}else if($num=='%'){
$res=$enmu1%$enmu2;
}else {
exit( '非法操作字符');
}
// 打印变量是需要$符的($num)
// 单引号是不解析变量的,需要修改为双引号
echo"运算结果:<br />{$enmu1}{$num}{$enmu2}={$res}";
}else{
exit('非法操作');
}
}
?>祝学习愉快!
相似问题