За последние 24 часа нас посетили 5879 программистов и 467 роботов. Сейчас ищут 176 программистов ...

Как менять переменную через форму

Тема в разделе "PHP для новичков", создана пользователем Suyunoff, 1 апр 2020.

Метки:
  1. Suyunoff

    Suyunoff Новичок

    С нами с:
    16 июл 2019
    Сообщения:
    38
    Симпатии:
    1
    Есть функция которая определяет простая ли число, нужно писать число через форму, но показывает все время not prime
    Код (Text):
    1. <?php
    2.  
    3.  
    4. function primeCheck($number){
    5.  
    6.     if ($number == 1)
    7.  
    8.     return 0;
    9.  
    10.     for ($i = 2; $i <= $number/2; $i++){
    11.  
    12.         if ($number % $i == 0)
    13.  
    14.             return 0;
    15.  
    16.     }
    17.  
    18.     return 1;
    19.  
    20. }
    21.  
    22.  
    23. // Код драйвера
    24.  
    25. $number = $_POST['text'];
    26.  
    27. $flag = primeCheck($number);
    28.  
    29. if ($flag == 1)
    30.  
    31.     echo "Prime";
    32.  
    33. else
    34.  
    35.     echo "Not Prime"
    36.  
    37. ?>
    38. <form method="post">
    39.     <input type="text" name="text">
    40.     <input type="submit" name="find">
    41.    
    42. </form>
     
  2. Sail

    Sail Активный пользователь

    С нами с:
    1 ноя 2016
    Сообщения:
    1.250
    Симпатии:
    281
    Надо добавить проверку на наличие исходных данных для расчёта и поставить "точку с запятой" в конце последнего оператора.
    Ещё желательно не игнорировать "операторные скобки" в конструкции ветвления. Поможет избажать досадных ошибок :)
    PHP:
    1. // Код драйвера
    2. if(!empty($_POST['text'])) {
    3.   $number = $_POST['text'];
    4.   $flag = primeCheck($number);
    5.   if ($flag == 1)
    6.     echo "Prime";
    7.   else
    8.     echo "Not Prime";
    9. }
     
    Suyunoff нравится это.