2014-09-16 3 views
0

, когда я вводим значение в поле ввода и отправляю, gettype() показывает, что тип полученного значения из поля ввода является строкой. Но я ввел integer.why?input type = "number" возвращает строку

<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 />"; 
       } 
       } 
      } 
      ?> 
+0

@sanojlawrence - Какой еще код вы ожидали бы? – Quentin

+0

cast as int $ num = (int) $ _ POST ['tableinteger']; – peterpeterson

+0

Я хочу, чтобы если пользователь вводил целое число, gettype() должен распознавать его как целое число, и если пользователь вводит строку, он должен распознать его как строку без литья. –

ответ

3

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

Используйте intval, если вы хотите целое число.

+0

проверить мой код сейчас я загрузил полный код, теперь вы можете понять, что я хочу делать. –

Смежные вопросы