PHP ElseIf语句与数字

时间:2012-02-10 19:14:15

标签: php if-statement

用户只能输入介于1和5之间的数字 - 如果输入0,则将该字段留空或输入大于5的数字,将默认重置为5.否则接受1,2,3,4。

$max=mysql_real_escape_string($_POST["max"]);

if ($max=="0" || $max==""){
    $max_r="5";
} elseif ($max > "5"){
    $max_r="5";
} else {
    $max_r=$max;
}

然而它总是吐出来。

2 个答案:

答案 0 :(得分:4)

嗯,你在比较字符串而不是整数。请尝试$max = (int) $_POST['max'],不要将值包装在引号中。然后,在将其写入数据库之前,您始终可以转义$max

$max = (int) $_POST['max'];

if ( ! $max || $max > 5){
  $max_r = 5;
} else {
  $max_r = $max;
}

或者,你可以选择单线FTW:

$max_r = ( ! $max || $max > 5) ? 5 : $max;

答案 1 :(得分:0)

$max = intval($_POST['max']);
if($max < 0 || $max > 5){
   $max = 5;
}