Тип ввода ="число" возвращает строку

Когда я ввожу значение в поле ввода и отправляю, gettype() показывает, что тип полученного значения из поля ввода - строка. Но я ввел целое число. Почему?

<form method="post" action="ff.php">
              <input type="number" name="tableinteger" /><br />
              <input type="submit" value="submit" />
              </form>
               <?php
               if(isset($_POST['tableinteger'])){
               $num=$_POST['tableinteger'];
               $dt=gettype($num);
               echo $dt;
               if($num<2 || $num>20)
               {
                   print "Enter the number that is between 2 and 20.";
                 }
               else if($dt=="string"){
                echo "Kindly Enter an integer value.";
               }
               else {
               for($i=1; $i<11; $i++)
               {
                   echo $num*$i ."<br />";
               }
               }
             }
          ?>

1 ответ

Потому что ни один из стандартных методов кодирования данных формы не различает строки и числа.

использование intval если вы хотите целое число.

Другие вопросы по тегам