Validation Patterns
Integer Ranges
Validate that an integer is inside an allowed range.
integer-range
After converting text or form data to a number, range checks can keep the value inside the domain the program accepts.
Integer Ranges
integer_range.php
Replay: real traced execution (multi-file project)
<?php
$age = 17;
$minimum = 18;
$maximum = 65;
$valid = $age >= $minimum && $age <= $maximum;
$label = $valid ? "allowed" : "blocked";
echo "age=" . $age . "\n";
echo "label=" . $label . "\n";
<?php
$age = 21;
$minimum = 18;
$maximum = 65;
$valid = $age >= $minimum && $age <= $maximum;
$label = $valid ? "allowed" : "blocked";
echo "age=" . $age . "\n";
echo "label=" . $label . "\n";
<?php
$age = 70;
$minimum = 18;
$maximum = 65;
$valid = $age >= $minimum && $age <= $maximum;
$label = $valid ? "allowed" : "blocked";
echo "age=" . $age . "\n";
echo "label=" . $label . "\n";
$age ← 17, $minimum ← 18, $maximum ← 65, $valid ← (empty), $label ← blocked
1<?php2$age→ 17 = 17; //@age=21, 703$minimum→ 18 = 18;4$maximum→ 65 = 65;5$valid→ (empty) = $age17 >= $minimum18 && $age <= $maximum65;6$label→ blocked = $valid(empty) ? "allowed" : "blocked";78echo "age=" . $age17 . "\n";9echo "label=" . $labelblocked . "\n";outputage=17 label=blocked
$age ← 21, $minimum ← 18, $maximum ← 65, $valid ← 1, $label ← allowed
1<?php2$age→ 21 = 21;3$minimum→ 18 = 18;4$maximum→ 65 = 65;5$valid→ 1 = $age21 >= $minimum18 && $age <= $maximum65;6$label→ allowed = $valid1 ? "allowed" : "blocked";78echo "age=" . $age21 . "\n";9echo "label=" . $labelallowed . "\n";outputage=21 label=allowed
$age ← 70, $minimum ← 18, $maximum ← 65, $valid ← (empty), $label ← blocked
1<?php2$age→ 70 = 70;3$minimum→ 18 = 18;4$maximum→ 65 = 65;5$valid→ (empty) = $age70 >= $minimum18 && $age <= $maximum65;6$label→ blocked = $valid(empty) ? "allowed" : "blocked";78echo "age=" . $age70 . "\n";9echo "label=" . $labelblocked . "\n";outputage=70 label=blocked