У меня есть функция, которая проверяет переданное значение и возвращает false или true, если false, я хочу добавить что-то в массив. Код, который я написал, ниже.
if(!check_input($_POST['username'])){
$errors[] = "Username";
}
Сейчас он все равно добавляется в мой массив, независимо от того, что введено в форму. Является ли способ, которым я написал, что правильный способ проверить, является ли возврат из check_input()
ложным? Я проверил логику функции, изменив возврат к эхо-сигналам, и он возвращает правильное значение, я просто не уверен, что проверяю его неправильно.
Ранее я пытался записать его как $X=check_input
и т. Д., А затем if(check_value == false)
, но, похоже, это тоже не дает мне желаемого результата. Хм, быстрый указатель, пожалуйста!
Edit:
Хорошо, посмотрев на мою функцию, я думаю, что обнаружил проблему, у меня есть оператор if, и в этом операторе if else первое if проверяет значение не пустое, второе if проверяет, что нет превышает его максимальную длину и возвращает истину / ложь. Я установил его, чтобы проверять максимальную длину, только если я передал это значение - или он установлен в ничто. Но в итоге у меня нет возврата true для основного оператора if. Так что моя логика в настоящее время такова: если значение больше, чем ничто, тогда сравните его с максимальной длиной, а затем верните true. Если я не проверяю максимальную длину и она имеет значение, она ничего не возвращает. Хммм. Я думаю, что это является причиной моей проблемы?
Редактировать 2:
Спасибо всем и Марвину, который предложил мне перепроверить функцию. У меня это работает. Это не так, если что-то возвращает false, если что-то еще возвращает false, и я взял свое возвращение true из оператора else и эй presto!