【发布时间】:2016-07-11 11:16:33
【问题描述】:
好的,我正在尝试执行一个不符合我预期的 IF / else IF 语句。 我正在尝试检查某人为某些事情输入的 URL 地址。 我这样做的方式可能很垃圾,但我并不擅长编程。
除了这个位 if (strpos($URLcheck, "http://") == false)
它应该检查 URL 中是否包含 http://。但不管它是否这样做,它的行为方式仍然完全相同。
我什至尝试通过去除 http:// 或 https:// 来强制将 http:// 插入 URL。
当我回显变量 ($URLcheck) 时,它显示带有 http://.....so 的 URL 为什么我的代码不起作用? 谢谢
$URL = htmlspecialchars($_POST["URL"]);
$URLREMOVESarray = array('https//:', 'http//:');
$URLhttp = str_replace($URLREMOVESarray, "", $URL);
$URLcheck = "http://" . $URLhttp;
$URLsearchcheck2 = 'property-profile/';
$URLsearchcheckDomain = "domain";
if (strpos($URL, $URLsearchcheck2) !== false) {
echo "Test 1";
}
else if (strpos($URLcheck, "http://") == false) {
echo "Test 2";
echo $URLcheck;
}
else if (strpos($URLcheck, $URLsearchcheckDomain) == false) {
echo "Test 3";
}
else if (strpos($URLcheck, $URLsearchcheckDomain) == true) {
Continue1();
}
更新:为什么这不起作用仍然没有解决方案?我什至从这个页面复制并粘贴了代码,它仍然不起作用。
【问题讨论】:
-
您应该使用
===运算符。 strpos -
您强制将 HTTPS 域前缀替换为 http 前缀。这不是一个好方法
-
false等于0如果您在不强制相同类型的情况下进行比较。将具有相同类型的内容与===或!==进行比较 -
您需要养成accepting answers 的习惯,它可以帮助您解决问题。您将获得积分,并鼓励其他人帮助您。
-
感谢您的信息,我尝试了所有替代方法 == === !== 但由于某种原因,它们都不起作用
标签: php if-statement