Вычисление суммы чисел

log in

Есть код php, вначале задаются два числа из некоторого диапазона и описываются поля и кнопки, далее идет сверка результата с правильным + предложение ответить на вопрос еще раз. Проблема в том, что при нажатии на кнопку ответ результат "верно-не верно" не высвечивается, а код сразу переходит к генерации новых двух чисел для суммирования.
<html>
 <body>
  <?php
    if(!isset($get_answer))
     {
       $first=rand(0, 200);
       $second=rand(-50, 50);
       $answer=$first+$second;
       echo "<form action='php-5-01.php' method='post'>
            $first";
       if($second>=0)
         echo"+";
       else
         {
           echo"-";
           $second=abs($second);
         }
       echo "$second
            =
            <!--поле для ввода ответа-->
            <input name='result' size='4' value=''/>
            
            <!--поле, через которое передается правильный ответ-->        
            <input name='answer' type='hidden' value='$answer'/>
            
            <!--поле, сигнализирующее о том, что был дан ответ-->
          <input name='get_answer' type='hidden' value='Ответ'/>
             
            <br/><br/>
            <input type='submit' value='Ответ'/>
<input type='reset' name='Reset' value='Очистить форму'> 
            </form>";
     }
    else
     {
       if($answer==$result) //сравниваем полученный ответ с правильным результатом
         echo"Ответ верный!<br/>";
       else
         echo"Ответ не верный!<br/>";
       echo"<form action='php-5-01.php' method='post'>
            <input type='submit' value='Получить новое задание'>
            </form>";
     }
  ?>
 </body>
</html>
4 ответа

log in

if(!isset($_POST['get_answer']))


log in

if(!isset($_POST['get_answer']))
заменил, теперь на любой ответ выдается сообщение, что ответ верный.


log in

<html>
 <body>
  <?php
    if(!isset($_POST['get_answer']))
     {
       $first=rand(0, 200);
       $second=rand(-50, 50);
       $answer=$first+$second;
       echo "<form action='' method='post'>
            $first";
       if($second>=0)
         echo"+";
       else
         {
           echo"-";
           $second=abs($second);
         }
       echo "$second
            =
            <!--поле для ввода ответа-->
            <input name='result' size='4' tupe='text'/>
            
            <!--поле, через которое передается правильный ответ-->        
            <input name='answer' type='hidden' value='".$answer."'/>
            
            <!--поле, сигнализирующее о том, что был дан ответ-->
          <input name='get_answer' type='hidden' value='Ответ'/>
             
            <br/><br/>
            <input type='submit' value='Ответ'/>
<input type='reset' name='Reset' value='Очистить форму'> 
            </form>";
     }
    else
     {
       if($_POST['answer']==$_POST['result']) {//сравниваем полученный ответ с правильным результатом
         echo"Ответ верный!<br/>";
       } else {
         echo"Ответ не верный!<br/>";
        }
       echo"<form action='' method='post'>
            <input type='submit' value='Получить новое задание'>
            </form>";
     }
  ?>
 </body>
</html>


log in

можно так
<html>
 <body>
  <?php
    $first=rand(0, 200);
    $second=rand(-50, 50);
    $answer=$first+$second;
    echo "<form action='' method='post'>
         $first";
    if($second>=0){
      echo"+";
    } 
    else
      {
        echo"-";
        $second=abs($second);
      }
     echo "$second
         =
         <!--поле для ввода ответа-->
         <input name='result' size='4' value=''/>
         <!--поле, сигнализирующее о том, что был дан ответ-->
         <input name='first' type='hidden' value='".$first."'/>
        <input name='second' type='hidden' value='".$second."'/>
         <br/><br/>
         <input type='submit' name='submit' value='Ответ'/>
         <input type='reset' name='Reset' value='Очистить форму'> 
         </form>";
    
    if(isset($_POST['submit'])){
        $ans = ($_POST['second']>=0)? ($_POST['first']+$_POST['second']) : ($_POST['first']-$_POST['second']);
       if($ans==$_POST['result']){ //сравниваем полученный ответ с правильным результатом
         echo"Ответ верный!<br/>";
       }
       else
           {
            echo"Ответ не верный!<br/>";
            echo"<form action='' method='post'>
               <input type='submit' value='Получить новое задание'>
               </form>";
            }
    }
  ?>
 </body>
</html>