когда я ввожу значение в поле ввода и отправляю, 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 />";
}
}
}
?>
Потому что ни один из стандартных методов кодирования данных формы не различает строки и числа.
использование intval
если вы хотите целое число.
Других решений пока нет …