2-12作业反馈问题
我有两个问题
第一个问题是我自己运行的时候并没有通知报错,如图一
第二个就是老师建议用isset来检查函数是否存在,如图二,像我这段代码的时候具体应该如何进行;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>homework</title> </head> <body> <form class="" action="test.php" method="post"> <input type="text" name="num1" placeholder="请输入要打印的行数"><br/> <button type="submit" name="triangle" value="tr">金字塔</button> <button type="submit" name="diamond" value="di">菱形</button> </form> <?php error_reporting(E_ALL&~E_NOTICE); $num1=$_POST['num1'];//接收数字变量 $triangle=$_POST['triangle'];//接收金字塔变量 $diamond=$_POST['diamond'];//接收菱形变量 //当接收到三角形变量的时候 if($triangle){ //$num1是接收到数字变量的行数 for($i=1;$i<=$num1;$i++){ //输出每行的空格 for($j=$num1-$i;$j>=1;$j--){ echo "<span style='color:#fff;'>*</span>"; } //输出每行的空格,行数和第几列关系到空格数量的个数 for($k=1;$k<=2*$i-1;$k++){ echo '*'; } echo '<br/>'; } } //当接收到菱形变量的时候 if($diamond){ //上半部分的三角形 //控制行数 for($i=1;$i<=$num1;$i++){ //输出每行的空格,行数和第几列关系到空格数量的个数: for($j=$num1-$i;$j>=1;$j--){ echo '<span style="color:#fff;">*</span>'; } //输出每行的星星以及空格 for($k=1;$k<=2*$i-1;$k++){ //输出第一个星星位置,再找出最后一个星星位子输出 if($k==1||$k==2*$i-1){ echo '*'; //除了寻找的位子都是空格 }else{ echo '<span style="color:#fff;">*</span>'; } } echo '<br/>'; } //下下半部分三角形 //控制行数,要比上半部分少一个行 for($i=$num1-1;$i>=1;$i--){ //输出每行的空格,行数和第几列关系到空格数量的个数: for($j=1;$j<=$num1-$i;$j++){ echo '<span style="color:#fff;">*</span>'; } //输出每行的星星以及空格 for($k=1;$k<=2*$i-1;$k++){ if($k==1||$k==2*$i-1){ echo '*'; }else{ echo '<span style="color:#fff;">*</span>'; } } echo '<br/>'; } } ?> </body> </html>
32
收起
正在回答
2回答
您好,老师是将你屏蔽错误的代码去掉之后运行的,会出现Notice错误。但是这并不是说代码逻辑有问题,而是对于这种情况,建议同学进行解决,不要存在Notice错误。
isset()函数用于检测变量是否已设置并且非 NULL。例如可以检测$_POST['num1'];是否为NULL,为NULL时不执行,不为NULL时在执行代码,同样的方式判断其余两个$_POST接收到的值。
如果解决了您的问题,请采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星