PHP FILTER_VALIDATE_INT

hi,

How would I validate a users integer input with this function?
I want the min number to be 0 and max to be 9.

and what if I have multiple user values that I want to validate do I put it in an array?


thanks!
SolutionabcAsked:
Who is Participating?
 
Ray PaseurConnect With a Mentor Commented:
Consider adding this to the top of all your scripts:

error_reporting(E_ALL);

It will reveal a multitude of important notices!

Also, you need to understand that PHP is a loosely typed language.  So in many cases, "10" (a string of two characters) will be treated the same as 10 (an integer equal to hexadecimal A).

As you expect, the code snippet show boolean FALSE.

Cheers, ~Ray
<?php // RAY_temp_Solutionabc.php
error_reporting(E_ALL);

// SET HERE TO AVOID THROWING A NOTICE
$_POST["verseQb"] = '10';

// COPIED FROM THE POST AT EE
$verseQ = $_POST["verseQb"];

$int_verseQ = array("options"=>
array("min_range"=>0, "max_range"=>9));

var_dump(filter_var($verseQ, FILTER_VALIDATE_INT, $int_verseQ));

Open in new window

0
 
Rajesh DalmiaCommented:
can try something like....

<?php

$intVal = $_REQUEST['FormField'];

if($intVal > 0 and $intVal < 9)
{
echo "valid no.";
}
else
{
echo "invalid";
}

?>
0
 
SolutionabcAuthor Commented:
If I have the code below, and verseQ = 10, will var_dump return false?

if it does how do I check the returned value?
$verseQ = $_POST["verseQb"];

$int_verseQ = array("options"=>
array("min_range"=>0, "max_range"=>9));

var_dump(filter_var($verseQ, FILTER_VALIDATE_INT, $int_verseQ));

Open in new window

0
 
Rajesh DalmiaCommented:
yes...
but if code not working then have to check what values is getting assigned to verseQ.

to make sure it always have integer value change the line to

$verseQ = $_POST["verseQb"] + 0;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.