首次访问网站时设置referer

时间:2014-07-29 19:01:32

标签: php referrer

我有一个网站,其中头文件中的电话号码需要根据引荐来源进行更改。例如,如果有人通过谷歌访问该网站,那么如果他们直接访问该网站,则电话号码会有所不同。 除非用户访问网站上的其他页面,否则我可以使用它。代码检查引用者并将号码更改为直接号码。 我想要的是在用户第一次访问网站时由引荐来源设置的数字,并且不要更改。我想曲奇或会话是这里的方式,我只是不确定如何构建代码。

if (!empty($_SERVER['HTTP_REFERER'])) //user has come via search engine or a page within our site
{
$referer = $_SERVER['HTTP_REFERER'];
if (strpos($referer,'google') !== false) {
$callin_number='1-444-444-4444';
$callin_dialer=preg_replace("/[^0-9,.]/", "", $callin_number);
}   
elseif (strpos($referer,'bing') !== false) {
$callin_number='1-111-111-1111';
$callin_dialer=preg_replace("/[^0-9,.]/", "", $callin_number);
}
else {
$callin_number='1-222-222-2222';
$callin_dialer=preg_replace("/[^0-9,.]/", "", $callin_number);
}
}

else { //user has come directly to site
$callin_number='1-333-333-3333';
$callin_dialer=preg_replace("/[^0-9,.]/", "", $callin_number);
}

1 个答案:

答案 0 :(得分:0)

如果您想使用会话或cookie:

半伪:

<?php

session_start();

if ( !isset( $_SESSION['referer'] ) )
{

   put your code here, and put whatever you need to session:

   $_SESSION['referer'] = ...
   $_SESSION['dialin'] = ....

}

并在代码中使用$_SESSION['referer etc']而不是$referer etc

$_SESSION['referer etc']将在下一页加载时提供,     在下一页加载时,上面的IF条件将为false。

Cookie有点不同:http://php.net/manual/en/function.setcookie.php