_GET PHP не поддерживает if () - PullRequest
0 голосов
/ 25 февраля 2020

Я использую следующий код:

if(isset($_GET['TDEnderEmail']) || htmlspecialchars($_GET['TDEnderEmail'])){
  $VEENFSL = strval($_GET['TDEnderEmail']);
  if(strpos($VEENFSL, "@enderadel.cf") > 0 && strlen($VEENFSL) > 5 && strlen($VEENFSL) < 22){
    return true;
  }
}

, и хотя значения операторов $VEENFSL * if (strpos($VEENFSL, "@enderadel.cf") > 0 && strlen($VEENFSL) > 5 && strlen($VEENFSL) < 22) для примера повернуты - user@enderadel.cf - if() никогда не возвращает правда

1 Ответ

0 голосов
/ 25 февраля 2020

Имейте в виду, что strpos не работает так, как вы, вероятно, думаете, что оно работает: как указано в документации , strpos

Возвращает положение, в котором находится игла существует относительно начала строки стога сена (независимо от смещения). Также обратите внимание, что строковые позиции начинаются с 0, а не с 1.

Возвращает FALSE, если игла не была найдена.

Предупреждение Эта функция может возвращать логическое значение FALSE, но также может возвращать не-логическое значение значение, которое оценивается как ЛОЖЬ. Пожалуйста, прочитайте раздел о логических значениях для получения дополнительной информации. Используйте оператор === для проверки возвращаемого значения этой функции.

Это означает, что пример строки, вероятно, соответствует позиции 0, поэтому

strpos($VEENFSL, "@enderadel.cf") > 0

равно false .

Следовательно, вы должны заменить это на

strpos($VEENFSL, "@enderadel.cf") !== false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...