2016-04-01 9 views
0

条件付きのコードブロックを実行するために、次のPHPコードがあります。ページURLに「/ checkout/order-received /」がある場合は、読み込まないようにポップアップが必要です。ここでPHPのstrposと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 
} 
?> 

最初の部分が「/ checkout/order-received /」の場合、URLに関係なく読み込まないようにするにはポップアップが必要です

テスト用のフッタにその変数をエコーし​​ているので、変数が関数ファイルに設定されていることがわかります。そのため、条件付きコードに問題があります。

+0

'strpos'戻り位置で発見されたことを意味します針が見つからなかった場合は位置を 'false'にします。 –

+0

時にはPHPマニュアルを見てもそれほど悪くはないと言います。 http://php.net/strpos –

+0

私はCharlotteのために感謝のBoob Squeezeを意味しないと思います。私は次回よりスマートにしようとします。 – Brett

答えて

1

strpos()ブール値trueを返さないため、!==演算子では常に等しくなりません。これは、整数文字位置またはブールfalse返します。それはまたfalseから==である0を返す可能性があるため

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

あなたは===を使用しなければならないが、それは0

+0

助けてくれてありがとう。あなたが訂正したことと比べると、これを行う良い方法がありますか? – Brett

+0

おそらく私がそれをやる方法について。 – AbraCadaver

関連する問題