我有以下PHP代码来运行一个条件代码块。如果页面URL中有"/结账/收到订单/",我需要一个弹出窗口来不加载。
这是我当前的非工作代码。。。
(获取当前页面URL的函数文件中的代码)
// Get the page URL to disable the checkout popup.
$GLOBALS['checkout_page_url'] = $_SERVER["REQUEST_URI"];
(相关包含文件中的代码)
<?php
if (strpos($GLOBALS['checkout_page_url'], '/checkout/order-received/') !== true) {
// show popup
} else {
// do not show popup
}
?>
如果第一部分是"/结账/收到订单/",无论URL如何,我都需要弹出窗口不加载
我知道这个变量是在函数文件中设置的,因为出于测试目的,我在页脚中回显了这个变量,所以我的条件代码有问题。
strpos()
从不返回布尔值true
,因此它将始终与!==
运算符不相等。它返回一个整数字符位置或布尔值false
:
if (strpos($GLOBALS['checkout_page_url'], '/checkout/order-received/') === false) {
您必须使用===
,因为它也可以返回0,即==
到false
,但意味着它是在位置0处找到的。