За последние 24 часа нас посетили 64923 программиста и 5255 роботов. Сейчас ищет 1521 программист ...

Не верный вывод

Тема в разделе "PHP для новичков", создана пользователем 6edyUH, 25 апр 2023.

  1. 6edyUH

    6edyUH Новичок

    С нами с:
    12 мар 2023
    Сообщения:
    21
    Симпатии:
    0
    Есть функция которая проверяет является ли число степенью тройки

    PHP:
    1. <?php
    2.  
    3. function degreeOfthree($a)
    4. {
    5.     for($i =0; $i <= $a; $i++){
    6.         if(pow(3,$i)== $a){
    7.             return $i;
    8.         }
    9.     }
    10.     return $a .' не является степенью числа 3';
    11. }
    12.  
    13. $output =degreeOfthree($_GET['num']??'0')
    14.  
    15. ?>
    Через форму ввожу число


    HTML:
    1.  
    2. <form class="form">
    3.     <p>Проверить число</p>
    4.      <input class="input" type="number" name="num">
    5.      <button class="sub" type="submit">Вычислить</button> </br>
    6.      <p>Результат: <span><?=@$output?></span></p>
    7.      </form>
    8.  
    и получается открываю страницу и сразу выбивает "не является степенью числа 3"
    Как переделать что бы это сообщение вылазило не сразу а только после нажатия на кнопку ( когда результат ложный)
    [​IMG]

    [​IMG]
    --- Добавлено ---
    ссылка на фото чет не работают(( что бы показать наглядно
     
  2. Aleksandr.B

    Aleksandr.B Активный пользователь

    С нами с:
    2 фев 2023
    Сообщения:
    159
    Симпатии:
    41
    Адрес:
    Барнаул
    PHP:
    1. $output = '';
    2. if (array_key_exists('num', $_GET)){
    3.     $output =degreeOfthree($_GET['num']);
    4. }
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Че так сложно? Просто
    Код (Text):
    1. If (! empty($_GET['num']))
     
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    947
    Симпатии:
    147
    на "0" !empty() false вернёт.