为什么金字塔输入超过15就会报502,空心输入超过8就会报502
来源:2-13 作业题
刘一
2019-06-11 20:34:39
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>时间提示语</title>
</head>
<body>
<h1>金字塔与空心男孩</h1>
<form action="22.php" method="post">
<input type="text" name="num"><br/>
<input type="submit" name="jzt" value="金字塔">
<input type="submit" name="kx" value="空心菱形">
</form>
</body>
<?php
error_reporting(E_ALL&~E_NOTICE);
$n=$_POST['num'];
$j=$_POST['jzt'];
$kx=$_POST['kx'];
if ($j == "金字塔") {
if(is_numeric($n)&& $n>0&&strpos($n,'.')==false) {
for ($i = 0; $i <= $n; $i++) {
for ($k = 1; $k <= $n - $i; $k++) {
echo ' '.' ';
}
for ($j = 1; $j <= 2 * $i - 1; $j++) {
echo '*';
}
echo '<br/>';
}
}else echo '输入正整数';
}
elseif($kx=="空心菱形"){
//判断是否为正整数
if(is_numeric($n) && $n>=0 && strpos($n,".")==false){
//上面菱形部分
for($i=1;$i<=$n;$i++){
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
for($j=1;$j<=$i*2-1;$j++){
if($i==1){
echo "*";
}else{
if($j==1||$j==$i*2-1){
echo "*";
}else{
echo " ";
}
}
}
echo'<br/>';
}
//下面菱形部分
for($i=$n;$i>=1;$i--){
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
for($j=$i*2-1;$j>=1;$j--){
if($i==1){
echo '*';
}else{
if($j==$i*2-1||$j==1){
echo'*';
}else{
echo" ";
}
}
}
echo "<br/>";
}
}else{
echo "请输入正整数";
}
}else{
exit;
}
?>
2回答
好帮手慕小尤
2019-08-05
同学你好, 简单来说 502 是报错类型代码 bad getway 错误的网关
1. 产生错误的原因
连接超时 我们向服务器器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错。
2. 刷新的方式可以解决此问题,快捷键 ctrl+F5,重新向服务器发送请求。
3. 或修改php.ini中的max_execution_time配置(超时时间)为300
祝学习愉快!
好帮手慕小尤
2019-06-12
同学你好,运行代码并没有发现问题。导致502错误的原因有很多。可以反馈报错截图,方便寻找错误。温馨提示:浏览器中存在兼容性问题,对 的输出存在一定差异性。可以使用<span style='color:#fff;'>*</span> 代替   输出。祝学习愉快!
相似问题