Условное использование strpos и URL в переполнении стека

У меня есть следующий код 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 /»

Я знаю, что переменная устанавливается в файле функций, потому что я повторяю это в нижнем колонтитуле для целей тестирования, поэтому что-то не так с моим условным кодом.

0

Решение

strpos() никогда не возвращает логическое значение true так что это всегда будет НЕ РАВНО с !== оператор. Возвращает целочисленную позицию символа или логическое значение false:

if (strpos($GLOBALS['checkout_page_url'], '/checkout/order-received/') === false) {

Вы должны использовать === потому что он также может вернуть 0, который == в false, но означает, что он был найден в позиции 0.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]