1-17练习题问题

来源:1-15 简易计算器的实现

V丶K

2017-11-24 18:28:39

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <form action="#" method="post">
      数值1:<input type="text" name="num1">
      <select class="" name="op">
          <option value="+">+</option>
          <option value="-">-</option>
          <option value="*">*</option>
          <option value="/">/</option>
          <option value="%">%</option>
      数值2:<input type="text" name="num2">
      <input type="submit" name="submit" value="提交">
  </form>
<?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op=$_POST['op'];
$submit=$_POST['submit'];
if($submit){
  if($op=='+'){
    $result=$num1+$num2;
  }elseif($op=='-'){
    $result=$num1-$num2;
  }elseif($op=='*'){
    $result=$num1*$num2;
  }elseif($op=='/'){
    $result=$num1/$num2;
  }elseif($op=='%'){
    $result=$num1%$num2;
  }else{
    echo '非法操作';
  }
echo "运算结果为:<br/>{$num1}{$op}{$num2}={$result}";
}



?>
</body>
</html>

为什么当我这样写了之后仍然会报$num1 $num2 $num3没有值的错误呢

写回答

1回答

imooc_澈

2017-11-24

您好,您的页面有如下代码,当第一次进入该页面时,我们还没有在input框输入数据并提交,此时代码执行到这里自然找不到相应的post数据,会提示未定义:

$num1=$_POST['num1'];

$num2=$_POST['num2'];

$op=$_POST['op'];

$submit=$_POST['submit'];

解决办法;

在使用前,先用isset()函数判断变量是否存在,如果不存在就不执行相应的php代码就可以了。

例如:

if(isset($_POST['submit'])){

  $num1=$_POST['num1'];

}

如果存在,就执行$num1=$_POST['num1'];

如果解决了您的问题,请采纳,祝学习愉快~

0

0 学习 · 2569 问题

查看课程

相似问题