[英]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;
}
}
盡管$VEENFSL
的if (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.