It looks like PHP is treating a string compared to an integer as true ($_GET["make"] == 0
).
The reason for this is $_GET["make"]
is being implicitly cast as an int for the comparison. When you try to convert a string to an int, on failure the value 0 is returned.
Compare $_GET['make']
to the string "0" instead.
if (
( ! isset( $_GET['year'] ) ) ||
( ! isset( $_GET['make'] ) ) ||
$_GET['make'] == "0"
) {
echo 0;
exit;
}