PHP калькулятор не возвращает значение

#php

Вопрос:

Привет, я очень новичок в этом деле. Мой PHP-калькулятор ничего не возвращает, когда я нажимаю «Рассчитать», когда я загружаю этот файл на свой сайт 000webhost. У меня сейчас нет веб-сайта, но вот мой код.

 <!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form method="get" action="#">

Enter the First Number <input type="text" name="number1"> <br><br>

Enter the Second Number <input type="text" name="number2"><br><br>

Choose the operation 

Addition <input type="radio" name="op" value="add" checked>

Subtraction <input type="radio" name="op" value="sub">

Multiplication <input type="radio" name="op" value="mul">

Division<input type="radio" name="op" value="div"><br><br>

 <input type="submit" name="Submit" value="Submit">

</form>
</body>
</html>

<?php

if ( $op == "add" ) {
  echo "$number1   $number2 = ";
  echo $number1   $number2;
}

if ( $op == "sub" ) {
  echo "$number1 - $number2 = ";
  echo $number1 - $number2;
}

if ( $op == "mul" ) {
  echo "$number1 * $number2 = ";
  echo $number1 * $number2;
}

if ( $op == "div" ) {
  echo "$number1 / $number2 = ";
  echo $number1 / $number2;
}

?>
<html>
 

Когда я нажимаю «Рассчитать», ничего не происходит, и ссылка получает знак вопроса. Пожалуйста, помогите.

Комментарии:

1. На самом деле вы никогда не используете какие-либо значения из формы. Я бы предложил учебник по основам. Кроме того, проверьте журнал ошибок вашего PHP, он должен быть заполнен предупреждениями и уведомлениями, которые могут указать вам правильный путь.

2. $op не определено. Любой учебник по формам PHP/HTML покажет вам, как правильно получить отправленные данные из формы. Что вы изучали до сих пор?

3. В дополнение к проблемам, упомянутым другими, вы пытаетесь вывести данные после закрывающего html-тега. Кто знает, что браузеры с этим делают. Они вполне могут проигнорировать это.

Ответ №1:

Вам нужно использовать $_GET для доступа к входному значению из запроса формы получения

 <!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form method="get" >

    Enter the First Number <input type="text" name="number1"> <br><br>

    Enter the Second Number <input type="text" name="number2"><br><br>

    Choose the operation
<br>
     <input type="radio" name="op" value="add" checked>Addition<br>

     <input type="radio" name="op" value="sub">Subtraction<br>

     <input type="radio" name="op" value="mul">Multiplication<br>

    <input type="radio" name="op" value="div">Division<br><br>

    <input type="submit" name="Submit" value="Submit">

</form>
</body>
</html>

<?php

if (isset( $_GET['number1']) amp;amp; isset( $_GET['number2']) amp;amp; isset( $_GET['op'])) {
    $number1 = $_GET['number1'];
    $number2 = $_GET['number2'];

    $op = $_GET['op'];
    if ($op == "add") {
        echo "$number1   $number2 = ";
        echo $number1   $number2;
    }

    if ($op == "sub") {
        echo "$number1 - $number2 = ";
        echo $number1 - $number2;
    }

    if ($op == "mul") {
        echo "$number1 * $number2 = ";
        echo $number1 * $number2;
    }

    if ($op == "div") {
        echo "$number1 / $number2 = ";
        echo $number1 / $number2;
    }
}


?>
<html>
 

Комментарии:

1. @ADyson спасибо, чувак, всем вам, ребята. Извините, если я вас раздражал, я не знаю ничего нового и все еще учусь.

2. @DeCode это нормально, мы все должны учиться. Мы постараемся помочь, чем сможем.

3. @ADyson как я могу отобразить сообщение об ошибке для нечислового ввода или ввода ничего (например, «вы должны ввести значение»). Будет ли при этом использоваться функция переключения?

4. @Расшифруйте, как я уже сказал, если у вас возникла новая проблема, отправьте новый вопрос (а не просто комментарий)