Click to See Complete Forum and Search --> : How to check user input whether it is an integer


szms
08-17-2003, 10:21 AM
Please have a look of the following code that suppsoed to check the user input for integer only. But it's giving me wrong output. Thank you.


<?php
print "<form method=\"GET\">";
print "<p>Enter in the number of times below:</p>";
print "<input type=\"text\" name=\"number\" size=\"30\">";
print "<input name=\"submit\" type=\"submit\" value=\"send\">";
print "<input name=\"reset\" type=\"reset\" value=\"reset\">";
print "</form>" ;

if (is_int($number))
print "$number";
else
print "Not a number";
?>

pyro
08-17-2003, 12:59 PM
It is being passed as a string. Try using a regexp to check, instead:

<?php
print "<form method=\"GET\" action=\"".$_SERVER['PHP_SELF']."\">";
print "<p>Enter in the number of times below:</p>";
print "<p><input type=\"text\" name=\"number\" size=\"30\">";
print "<input name=\"submit\" type=\"submit\" value=\"send\">";
print "<input name=\"reset\" type=\"reset\" value=\"reset\"></p>";
print "</form>" ;

if (isset($_GET["submit"])) {
$number = $_GET["number"];
if (preg_match("/^\\d+$/",$number)) {
print "$number";
}
else {
print "Not a number";
}
}
?>