如何使用Javascript(或PHP)将值插入到表单中,具体取决于访问者引用

如何使用Javascript(或PHP)将值插入到表单中,具体取决于访问者引用,javascript,php,cookies,google-analytics,visitors,Javascript,Php,Cookies,Google Analytics,Visitors,我不确定这样做的方法是检查谷歌分析cookies还是跟踪用户从哪里来到我的网站。基本上,我有一个带有隐藏字段的表单code=“XY1”现在我需要能够为来自Facebook的人插入不同的预设代码,因此脚本必须检查访问者来自何处,然后将代码XF1分配给来自FB的任何人,将代码XT1分配给来自Twitter的任何人,等等 像这样的PHP可以用于捕获吗 $referringPage = parse_url( $_SERVER['HTTP_REFERER'] ); if ( stristr( $refer

我不确定这样做的方法是检查谷歌分析cookies还是跟踪用户从哪里来到我的网站。基本上,我有一个带有隐藏字段的表单
code=“XY1”
现在我需要能够为来自Facebook的人插入不同的预设代码,因此脚本必须检查访问者来自何处,然后将代码XF1分配给来自FB的任何人,将代码XT1分配给来自Twitter的任何人,等等

像这样的PHP可以用于捕获吗

$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'facebook.com' ) )
还是这个JS

var ref = document.referrer;

if (!ref.indexOf("facebook.com") != -1) {
  document.write(...)
}

我不确定什么是最好的方法,什么样的方法可以可靠地检查访问者的来源,因此非常感谢您的帮助。

您可以使用
$\u SERVER['HTTP\u REFERER']
,但不能保证它的准确性,甚至不能提供。并不是所有的浏览器都需要设置它,有些浏览器允许您自己设置。Google Cookie不包含任何站点历史记录,并且您无法检查浏览器历史记录,因此无法保证按照您的要求执行操作。

您可以使用jquery$.test()方法尝试此选项

$(函数(){
var referer=document.referer,//选项1
//referer=“”,//可选2
XFB=/facebook.com/g,
XFT=/twitter.com/g,
检查F1=XFB.测试(参考),
检查F2=XFT.测试(参考);
如果(选中F1){
var code=“XF1”;
$('hiddenInput').attr('value','ref:'+referer)
}
否则如果(选中F2){
var code=“XT1”;
$('hiddenInput').attr('value','ref:'+referer)
}
});

HTTP\u REFERER是浏览器集,非常不可靠这很有趣,document.REFERER是否与PHP中的HTTP\u REFERER一样准确?而且,这不会跟踪任何超过原始登录页的内容,对吗?我应该如何在这里加入cookie,这样如果访问者在进入表单之前点击站点,脚本就可以工作?是的,php和javascript都可以工作。要使用脚本跟踪所有页面,您需要将其包含在所有页面中。您不必有表单,您可以将数据保存在.txt文件或使用ajax的数据库中。因此,让我们假设在每一页上都有这样的内容。请参阅我的下一条评论……………$(函数(){localStorage.location=document.location;localStorage.referer=document.referer;//正如您所知,“localStorage”在php中是相同的$\会话var location=localStorage.location,referer=localStorage.referer,XFB=/facebook.com/g,XFT=/twitter.com/g,checkF1=XFB.test(referer),checkF2=XFT.test(referer);if(checkF1){var code=“XF1”}else if(checkF2){var code=“XT1”}//Ajax在这里查看下一条注释//警报(location+referer);//仅用于测试确保Ajax url有效});$.post(“addTotxtFileOrDataBase.php”{code:code,location:location,referer:referer;},函数(数据){//做任何事或什么都不做});//在这里结束ajax
$(function(){
    var referer=document.referrer,  //option 1  
    //referer="<?php echo $_SERVER['HTTP_REFERER'];?>",//optional 2
    XFB=/facebook.com/g,
    XFT=/twitter.com/g,
    checkF1=XFB.test(referer),
    checkF2=XFT.test(referer);
if(checkF1){
    var code= "XF1";
  $('#hiddenInput').attr('value','ref:  '+referer)

}
else if(checkF2){
    var code= "XT1";
 $('#hiddenInput').attr('value','ref:  '+referer)
}
});