У меня есть следующий код PHP для запуска условного блока кода. Мне нужно всплывающее окно, чтобы НЕ загружать, если URL-адрес страницы содержит «/ checkout / order-receive /».
Вот мой текущий нерабочий код …
(код в файле функций для получения 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, если первая часть — «/ checkout / order-receive /»
Я знаю, что переменная устанавливается в файле функций, потому что я повторяю это в нижнем колонтитуле для целей тестирования, поэтому что-то не так с моим условным кодом.
strpos()
никогда не возвращает логическое значение true
так что это всегда будет НЕ РАВНО с !==
оператор. Возвращает целочисленную позицию символа или логическое значение false
:
if (strpos($GLOBALS['checkout_page_url'], '/checkout/order-received/') === false) {
Вы должны использовать ===
потому что он также может вернуть 0, который ==
в false
, но означает, что он был найден в позиции 0.
Других решений пока нет …