簡體   English   中英

PHP 的 _GET 不支持 if()

[英]PHP's _GET doesn't support if()

我正在使用以下代碼:

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;
  }
}

盡管$VEENFSLif (strpos($VEENFSL, "@enderadel.cf") > 0 && strlen($VEENFSL) > 5 && strlen($VEENFSL) < 22 ) 語句值在示例中輪流 - user@enderadel.cf - if()從不返回 true

strpos不像您認為的那樣工作:正如文檔所述, strpos

返回針相對於 haystack 字符串開頭的位置(與偏移量無關)。 另請注意,字符串位置從 0 開始,而不是 1。

如果未找到針,則返回 FALSE。

警告 此函數可能返回布爾值 FALSE,但也可能返回計算結果為 FALSE 的非布爾值。 請閱讀有關布爾值的部分以獲取更多信息。 使用 === 運算符來測試此函數的返回值。

這意味着您的示例字符串可能在位置 0 處匹配,因此

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

false

因此,您應該將其替換為

strpos($VEENFSL, "@enderadel.cf") !== false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM