PHP

2016-04-01 29 views
0

'de strpos ve URL'leri kullanma Koşullu bir kod bloğunu çalıştırmak için aşağıdaki PHP kodum var. Sayfa URL'sinde "/ checkout/order-received /" içeriyorsa, yüklenememesi için bir pop-up'a ihtiyacım var. İşte PHP

... benim şimdiki olmayan çalışma kodudur

(kod fonksiyonları dosyasında almak için geçerli sayfa URL'si)

// Get the page URL to disable the checkout popup. 
$GLOBALS['checkout_page_url'] = $_SERVER["REQUEST_URI"]; 

(ilgili şunlardır dosyasındaki kod)

<?php 
if (strpos($GLOBALS['checkout_page_url'], '/checkout/order-received/') !== true) { 
// show popup 
} else { 
// do not show popup 
} 
?> 

İlk bölüm "/ checkout/order-received /"

URL’ye bakmaksızın yüklenmemesi için açılır pencereye ihtiyacım varDeğişkenin işlevler dosyasında ayarlandığını biliyorum çünkü test amaçları için altbilgide yankılanıyorum, bu yüzden şartlı kodumda bir sorun var.
+0

'strpos' döner pozisyonunda bulunmuştur anlamına gelir iğne bulunamadıysa pozisyon veya false. –

+0

Bazen php el kitabına bakmak o kadar da kötü olmaz ki sadece söylemek. http://php.net/strpos –

+0

Sanırım bu benim için Boob Sızıntısı anlamına geliyor. Bir dahaki sefere daha akıllı olmaya çalışacağım. – Brett

cevap

1

strpos() hiçbir zaman true numaralı boolean'ı geri döndürmez, bu nedenle !== işleci ile EQUAL DEĞİL. Bu bir tamsayı karakter konum veya boolean false döndürür: o da false için == olan 0 dönmek çünkü

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

Sen === kullanmalıdır fakat 0.

+0

Yardım için teşekkürler. Düzeltdiğin şeyi yapmak, bunu yapmanın daha iyi bir yolu var mı? – Brett

+0

Muhtemelen nasıl yapacağım. – AbraCadaver