Вопрос PHP strlen

Хорошо, я проверяю, что строка имеет длину не менее 4 символов и не менее 25 символов

Я попытался использовать strlen, как это

$userNameSignupLength = strlen($userNameSignup); else if($userNameSignupLength<4 && $userNameSignupLength>25) { $userNameSignupError = "Must be between 4 to 25 characters long"; } 

но это не работает … что я сделал не так?

Related of "Вопрос PHP strlen"

Использование 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. Вы должны использовать, если для этого кода.