Хорошо, я проверяю, что строка имеет длину не менее 4 символов и не менее 25 символов
Я попытался использовать strlen, как это
$userNameSignupLength = strlen($userNameSignup); else if($userNameSignupLength<4 && $userNameSignupLength>25) { $userNameSignupError = "Must be between 4 to 25 characters long"; }
но это не работает … что я сделал не так?
Использование strlen
корректно проверяет длину строки (в байтах). Но число не может быть одновременно меньше 4 и больше 25. Использовать ||
вместо:
if ($userNameSignupLength < 4 || $userNameSignupLength > 25)
Теперь условие выполняется, если число либо меньше 4, либо больше 25.
Измените && на ||
else if ($userNameSignupLength<4 || $userNameSignupLength>25)
Я думаю, вам нужен OR:
else if($userNameSignupLength < 4 || $userNameSignupLength > 25) {
Как сказал Гумбо, длина не может быть меньше 4 И больше 25. &&
означает and
.
и избавиться от «else» перед ключевым словом «if»!
С вашим кодом очевидно, что вы пытаетесь проверить текстовое поле. Вы не делили html этого кода. В любом случае, из моего опыта я скажу, что вы не должны использовать &&. Вы должны использовать ||. Также вы не должны напрямую использовать else if. Вы должны использовать, если для этого кода.