如果您希望用戶輸入數據,我正在創建白名單。我遇到了elseif語句。if/elseif/else問題
這是我的代碼:
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;
}
}
因爲即使$的數據是9個字符的第一個if語句經過某種原因,那麼第二個失敗,我不斷收到「字段不能爲下9個字符'儘管$數據正好是9個字符。我返回false是因爲在另一個腳本中,我有函數調用is_valid_data($ data),並且如果此函數返回false,則它會將錯誤返回給用戶。如果它返回true,那麼數據是有效的,我們可以繼續
我似乎無法動搖這個問題。
你想比較'strlen($ data)'的結果到9,你現在在函數調用裏面進行比較:'strlen($ data)> 9'和'strlen($數據<9)' - 看到區別? –
是啊...我是一個noob我什至沒有注意到這個問題:(謝謝 – user2406611