我正在为我的网站实施一些联属网络营销跟踪。联盟网络要求我隐藏网站上的电话号码。
当联盟会员点击指向我网站的链接时,会添加任何网站网址,例如/?source = affiliate& siteid = XXXX; mydomain.com/?source=affiliate&siteid=XXXX
我一直试图隐藏电话号码;
<?php
if (!array_key_exists('affiliate', $_GET)){
//Show telephone number
echo "<li>+44 (0)1234 567891</li>";
}
?>
但是,这似乎不起作用。理想情况下,我需要默认显示该数字,但如果URL包含网址的affilaite部分,则应隐藏电话号码。
答案 0 :(得分:4)
在你的$ _GET数组中,source是关键,affiliate是值。 你想要的:
<?php
if (!in_array('affiliate', $_GET)){
//Show telephone number
echo "<li>+44 (0)1234 567891</li>";
}
?>
或
<?php
if (!array_key_exists('source', $_GET)){
//Show telephone number
echo "<li>+44 (0)1234 567891</li>";
}
?>
答案 1 :(得分:4)
听起来你已经混淆了键和值。在网址中,密钥是=
左侧的部分,而值则位于右侧。
您想要的条件应为if (!array_key_exists('source', $_GET) || $_GET['source'] != 'affiliate')
。这将检查是否已定义source
密钥,并且其值为affiliate
。
答案 2 :(得分:0)
结论:
if (array_key_exists('source', $_GET) && $_GET['source'] == 'affiliate') {
//Show telephone number
echo "<li>+44 (0)1234 567891</li>";
}