如果您愿意让用户输入数据,我正在创建一个白名单。我被困在 elseif 语句上。
这是我的代码:
public function is_valid_data($data)
{
if(strlen($data > 9))
{
$this -> set_message('is_valid_data', 'Field needs to be less than 9 characters');
return FALSE;
}
elseif(strlen($data < 9))
{
$this -> set_message('is_valid_data', 'Field can not be under 9 characters');
return FALSE;
}
elseif((substr($str, 0, 1) !== 'testing') || (substr($str, 0, 1) !== 'test'))
{
$this -> set_message('is_valid_data', 'Please re-submit data!');
return FALSE;
}
elseif(!preg_match("/^[0-9]/", $str))
{
$this -> set_message('is_valid_data', 'Please dont forget about the numbers!');
return FALSE;
}
else
{
return TRUE;
}
}
出于某种原因,即使 $data 是 9 个字符,第一个 if 语句通过,然后第二个失败,即使 $data 正好是 9 个字符,我也会不断收到“字段不能低于 9 个字符”。我返回 false 是因为在另一个脚本中我有函数调用 is_valid_data($data) 并且如果此函数返回 false 那么它将向用户返回错误。如果它返回true,那么数据是有效的,我们可以继续
我似乎无法摆脱这个问题。